home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 November / Chip Kasım 2000.iso / prog / share / 12 / setup.exe / _SETUP.1 / Monster.pop < prev    next >
Unknown  |  1999-11-30  |  123.1 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was not able to be converted.
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
100% file data default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0f 64 65 66 61 75 6c 74 | 20 73 65 74 74 69 6e 67 |.default| setting|
|00000010| 34 ec 01 00 70 6f 70 20 | 64 61 6e 63 65 72 73 20 |4...pop |dancers |
|00000020| 7b 0a 2f 2f 20 42 61 73 | 65 50 6f 70 20 61 74 74 |{.// Bas|ePop att|
|00000030| 72 69 62 75 74 65 73 0a | 2f 2f 20 44 61 6e 63 65 |ributes.|// Dance|
|00000040| 72 50 6f 70 20 61 74 74 | 72 69 62 75 74 65 73 0a |rPop att|ributes.|
|00000050| 70 61 72 65 6e 74 73 20 | 30 0a 6d 6f 64 65 6c 5f |parents |0.model_|
|00000060| 63 6f 6d 70 6c 65 78 69 | 74 79 20 31 0a 72 65 6e |complexi|ty 1.ren|
|00000070| 64 65 72 69 6e 67 20 30 | 0a 66 72 61 6d 65 73 20 |dering 0|.frames |
|00000080| 33 35 30 0a 6c 6f 6f 70 | 65 64 20 74 72 75 65 0a |350.loop|ed true.|
|00000090| 65 61 73 65 5f 74 77 65 | 65 6e 20 66 61 6c 73 65 |ease_twe|en false|
|000000a0| 0a 62 61 63 6b 67 72 6f | 75 6e 64 5f 6f 6e 20 74 |.backgro|und_on t|
|000000b0| 72 75 65 0a 62 61 63 6b | 67 72 6f 75 6e 64 20 3c |rue.back|ground <|
|000000c0| 5b 6e 6f 6e 65 5d 3e 0a | 74 65 78 74 75 72 65 73 |[none]>.|textures|
|000000d0| 5f 6f 6e 20 74 72 75 65 | 0a 74 65 78 74 75 72 65 |_on true|.texture|
|000000e0| 30 20 3c 5b 6e 6f 6e 65 | 5d 3e 0a 74 65 78 74 75 |0 <[none|]>.textu|
|000000f0| 72 65 31 20 3c 5b 6e 6f | 6e 65 5d 3e 0a 74 65 78 |re1 <[no|ne]>.tex|
|00000100| 74 75 72 65 32 20 3c 5b | 6e 6f 6e 65 5d 3e 0a 74 |ture2 <[|none]>.t|
|00000110| 65 78 74 75 72 65 33 20 | 3c 5b 6e 6f 6e 65 5d 3e |exture3 |<[none]>|
|00000120| 0a 65 6e 64 20 2f 2f 20 | 44 61 6e 63 65 72 50 6f |.end // |DancerPo|
|00000130| 70 20 61 74 74 72 69 62 | 75 74 65 73 0a 69 6e 64 |p attrib|utes.ind|
|00000140| 69 20 64 61 6e 63 65 72 | 20 7b 0a 2f 2f 20 42 61 |i dancer| {.// Ba|
|00000150| 73 65 49 6e 64 69 20 61 | 74 74 72 69 62 75 74 65 |seIndi a|ttribute|
|00000160| 73 0a 2f 2f 20 44 61 6e | 63 65 72 49 6e 64 69 41 |s.// Dan|cerIndiA|
|00000170| 74 74 72 69 62 75 74 65 | 73 0a 67 65 6e 6f 6d 65 |ttribute|s.genome|
|00000180| 20 64 61 6e 63 65 72 20 | 7b 0a 2f 2f 20 42 61 73 | dancer |{.// Bas|
|00000190| 65 47 65 6e 6f 6d 65 20 | 61 74 74 72 69 62 75 74 |eGenome |attribut|
|000001a0| 65 73 0a 2f 2f 20 44 61 | 6e 63 65 72 47 65 6e 6f |es.// Da|ncerGeno|
|000001b0| 6d 65 20 61 74 74 72 69 | 62 75 74 65 73 0a 70 72 |me attri|butes.pr|
|000001c0| 6f 67 0a 66 75 6e 63 20 | 76 6f 69 64 20 6d 61 69 |og.func |void mai|
|000001d0| 6e 28 29 3b 0a 66 75 6e | 63 20 76 6f 69 64 20 63 |n();.fun|c void c|
|000001e0| 6f 72 61 6c 28 29 3b 0a | 66 75 6e 63 20 76 6f 69 |oral();.|func voi|
|000001f0| 64 20 68 61 6c 66 28 20 | 6e 75 6d 20 64 69 72 65 |d half( |num dire|
|00000200| 63 74 69 6f 6e 2c 20 6e | 75 6d 20 74 75 62 65 6e |ction, n|um tuben|
|00000210| 65 73 73 2c 20 6e 75 6d | 20 73 70 68 65 72 65 6e |ess, num| spheren|
|00000220| 65 73 73 2c 20 6e 75 6d | 20 72 61 64 69 75 73 2c |ess, num| radius,|
|00000230| 20 6e 75 6d 20 68 6f 72 | 69 7a 5f 61 6e 67 6c 65 | num hor|iz_angle|
|00000240| 5f 69 6e 63 2c 20 6e 75 | 6d 20 70 72 69 6d 5f 73 |_inc, nu|m prim_s|
|00000250| 69 7a 65 20 29 3b 0a 66 | 75 6e 63 20 76 6f 69 64 |ize );.f|unc void|
|00000260| 20 73 65 67 6d 65 6e 74 | 28 20 6e 75 6d 20 64 69 | segment|( num di|
|00000270| 72 65 63 74 69 6f 6e 2c | 20 6e 75 6d 20 64 69 73 |rection,| num dis|
|00000280| 70 6c 61 63 65 6d 65 6e | 74 2c 20 6e 75 6d 20 73 |placemen|t, num s|
|00000290| 70 69 72 61 6c 2c 20 6e | 75 6d 20 76 65 72 74 5f |piral, n|um vert_|
|000002a0| 61 6e 67 6c 65 2c 20 6e | 75 6d 20 66 77 64 2c 20 |angle, n|um fwd, |
|000002b0| 6e 75 6d 20 6c 6f 63 75 | 73 2c 20 6e 75 6d 20 70 |num locu|s, num p|
|000002c0| 72 69 6d 5f 73 69 7a 65 | 20 29 3b 0a 66 75 6e 63 |rim_size| );.func|
|000002d0| 20 76 6f 69 64 20 62 75 | 69 6c 64 43 53 70 61 63 | void bu|ildCSpac|
|000002e0| 65 41 28 20 69 6e 74 20 | 69 6e 64 65 78 20 29 3b |eA( int |index );|
|000002f0| 0a 66 75 6e 63 20 76 6f | 69 64 20 6d 6f 6e 73 74 |.func vo|id monst|
|00000300| 65 72 28 29 3b 0a 66 75 | 6e 63 20 76 6f 69 64 20 |er();.fu|nc void |
|00000310| 68 65 61 64 28 29 3b 0a | 66 75 6e 63 20 76 6f 69 |head();.|func voi|
|00000320| 64 20 65 79 65 73 28 29 | 3b 0a 66 75 6e 63 20 76 |d eyes()|;.func v|
|00000330| 6f 69 64 20 74 65 6e 74 | 61 63 6c 65 73 28 29 3b |oid tent|acles();|
|00000340| 0a 66 75 6e 63 20 76 6f | 69 64 20 65 79 65 28 20 |.func vo|id eye( |
|00000350| 6e 75 6d 20 73 69 7a 65 | 20 29 3b 0a 66 75 6e 63 |num size| );.func|
|00000360| 20 76 6f 69 64 20 74 65 | 6e 74 61 63 6c 65 28 20 | void te|ntacle( |
|00000370| 6e 75 6d 20 63 6f 6d 70 | 6c 65 74 65 6e 65 73 73 |num comp|leteness|
|00000380| 20 29 3b 0a 66 75 6e 63 | 20 76 6f 69 64 20 72 65 | );.func| void re|
|00000390| 63 74 61 6e 67 6c 65 28 | 20 76 65 63 33 20 74 6f |ctangle(| vec3 to|
|000003a0| 70 5f 6c 65 66 74 2c 20 | 76 65 63 33 20 74 6f 70 |p_left, |vec3 top|
|000003b0| 5f 72 69 67 68 74 2c 20 | 76 65 63 33 20 62 6f 74 |_right, |vec3 bot|
|000003c0| 74 6f 6d 5f 6c 65 66 74 | 2c 20 76 65 63 33 20 62 |tom_left|, vec3 b|
|000003d0| 6f 74 74 6f 6d 5f 72 69 | 67 68 74 2c 20 6e 75 6d |ottom_ri|ght, num|
|000003e0| 20 74 68 69 63 6b 6e 65 | 73 73 20 29 3b 0a 66 75 | thickne|ss );.fu|
|000003f0| 6e 63 20 76 6f 69 64 20 | 6c 69 6e 65 28 20 76 65 |nc void |line( ve|
|00000400| 63 33 20 70 31 2c 20 76 | 65 63 33 20 70 32 2c 20 |c3 p1, v|ec3 p2, |
|00000410| 6e 75 6d 20 74 68 69 63 | 6b 6e 65 73 73 20 29 3b |num thic|kness );|
|00000420| 0a 64 61 74 61 20 6e 75 | 6d 20 66 75 6c 6c 5f 63 |.data nu|m full_c|
|00000430| 69 72 63 6c 65 20 3d 20 | 28 5b 32 5d 2a 5b 33 2e |ircle = |([2]*[3.|
|00000440| 31 34 31 35 39 5d 29 3b | 20 0a 64 61 74 61 20 6e |14159]);| .data n|
|00000450| 75 6d 20 68 61 6c 66 5f | 63 69 72 63 6c 65 20 3d |um half_|circle =|
|00000460| 20 5b 33 2e 31 34 31 35 | 39 5d 3b 20 0a 64 61 74 | [3.1415|9]; .dat|
|00000470| 61 20 6e 75 6d 20 72 69 | 67 68 74 5f 61 6e 67 6c |a num ri|ght_angl|
|00000480| 65 20 3d 20 28 5b 33 2e | 31 34 31 35 39 5d 2f 5b |e = ([3.|14159]/[|
|00000490| 32 5d 29 3b 20 0a 64 61 | 74 61 20 6e 75 6d 20 66 |2]); .da|ta num f|
|000004a0| 6f 72 74 79 5f 66 69 76 | 65 5f 64 65 67 73 20 3d |orty_fiv|e_degs =|
|000004b0| 20 28 5b 33 2e 31 34 31 | 35 39 5d 2f 5b 34 5d 29 | ([3.141|59]/[4])|
|000004c0| 3b 20 0a 64 61 74 61 20 | 6e 75 6d 20 68 65 61 64 |; .data |num head|
|000004d0| 5f 73 69 7a 65 20 3d 20 | 5b 35 2e 35 31 30 33 38 |_size = |[5.51038|
|000004e0| 5d 3a 5b 32 5d 3a 5b 38 | 5d 3b 20 0a 64 61 74 61 |]:[2]:[8|]; .data|
|000004f0| 20 63 6f 6c 6f 75 72 20 | 68 65 61 64 5f 63 6f 6c | colour |head_col|
|00000500| 6f 75 72 20 3d 20 5b 3c | 30 2e 36 36 38 31 39 2c |our = [<|0.66819,|
|00000510| 31 2c 30 2e 32 39 34 31 | 30 33 2c 30 2e 33 35 37 |1,0.2941|03,0.357|
|00000520| 38 34 36 3e 5d 3a 5b 3c | 30 2c 31 2c 30 2e 32 2c |846>]:[<|0,1,0.2,|
|00000530| 30 2e 32 3e 5d 3a 5b 3c | 30 2e 37 2c 31 2c 30 2e |0.2>]:[<|0.7,1,0.|
|00000540| 36 2c 30 2e 36 3e 5d 3b | 20 0a 64 61 74 61 20 6e |6,0.6>];| .data n|
|00000550| 75 6d 20 65 78 70 61 6e | 64 65 64 20 3d 20 5b 31 |um expan|ded = [1|
|00000560| 2e 30 32 35 33 31 5d 3a | 5b 30 2e 36 5d 3a 5b 32 |.02531]:|[0.6]:[2|
|00000570| 5d 3b 20 0a 64 61 74 61 | 20 6e 75 6d 20 74 75 62 |]; .data| num tub|
|00000580| 65 6e 65 73 73 5f 75 70 | 20 3d 20 5b 30 2e 33 30 |eness_up| = [0.30|
|00000590| 38 31 36 5d 3a 5b 30 5d | 3a 5b 35 5d 3b 20 0a 64 |816]:[0]|:[5]; .d|
|000005a0| 61 74 61 20 6e 75 6d 20 | 74 75 62 65 6e 65 73 73 |ata num |tubeness|
|000005b0| 5f 64 6f 77 6e 20 3d 20 | 5b 30 2e 33 31 39 31 35 |_down = |[0.31915|
|000005c0| 39 5d 3a 5b 30 5d 3a 5b | 35 5d 3b 20 0a 64 61 74 |9]:[0]:[|5]; .dat|
|000005d0| 61 20 6e 75 6d 20 73 70 | 68 65 72 65 6e 65 73 73 |a num sp|hereness|
|000005e0| 5f 75 70 3b 20 0a 64 61 | 74 61 20 6e 75 6d 20 73 |_up; .da|ta num s|
|000005f0| 70 68 65 72 65 6e 65 73 | 73 5f 64 6f 77 6e 3b 20 |pherenes|s_down; |
|00000600| 0a 64 61 74 61 20 6e 75 | 6d 20 73 70 69 72 61 6c |.data nu|m spiral|
|00000610| 5f 66 61 63 74 6f 72 20 | 3d 20 5b 30 2e 34 33 30 |_factor |= [0.430|
|00000620| 32 31 35 5d 3a 5b 2d 31 | 5d 3a 5b 31 5d 3b 20 0a |215]:[-1|]:[1]; .|
|00000630| 66 75 6e 63 20 76 6f 69 | 64 20 6d 61 69 6e 28 29 |func voi|d main()|
|00000640| 20 7b 0a 73 65 74 5f 73 | 68 61 72 70 28 5b 31 30 | {.set_s|harp([10|
|00000650| 30 5d 29 3b 0a 73 65 74 | 5f 73 68 69 6e 65 28 5b |0]);.set|_shine([|
|00000660| 33 5d 29 3b 0a 70 69 74 | 63 68 28 28 5b 33 2e 31 |3]);.pit|ch(([3.1|
|00000670| 34 31 35 39 5d 2f 5b 32 | 5d 29 29 3b 0a 63 6f 72 |4159]/[2|]));.cor|
|00000680| 61 6c 28 29 3b 0a 6d 6f | 6e 73 74 65 72 28 29 3b |al();.mo|nster();|
|00000690| 0a 7d 0a 66 75 6e 63 20 | 76 6f 69 64 20 63 6f 72 |.}.func |void cor|
|000006a0| 61 6c 28 29 20 7b 0a 70 | 75 73 68 28 29 3b 0a 75 |al() {.p|ush();.u|
|000006b0| 73 63 61 6c 65 28 5b 30 | 2e 33 5d 29 3b 0a 64 61 |scale([0|.3]);.da|
|000006c0| 74 61 20 69 6e 74 20 68 | 6f 72 69 7a 5f 72 65 70 |ta int h|oriz_rep|
|000006d0| 73 20 3d 20 5b 38 5d 3b | 20 0a 64 61 74 61 20 6e |s = [8];| .data n|
|000006e0| 75 6d 20 72 61 64 69 75 | 73 20 3d 20 5b 31 30 5d |um radiu|s = [10]|
|000006f0| 3b 20 0a 64 61 74 61 20 | 6e 75 6d 20 68 6f 72 69 |; .data |num hori|
|00000700| 7a 5f 61 6e 67 6c 65 5f | 69 6e 63 20 3d 20 28 66 |z_angle_|inc = (f|
|00000710| 75 6c 6c 5f 63 69 72 63 | 6c 65 2f 69 74 6f 6e 28 |ull_circ|le/iton(|
|00000720| 68 6f 72 69 7a 5f 72 65 | 70 73 29 29 3b 20 0a 64 |horiz_re|ps)); .d|
|00000730| 61 74 61 20 6e 75 6d 20 | 70 72 69 6d 5f 73 69 7a |ata num |prim_siz|
|00000740| 65 3b 20 0a 73 70 68 65 | 72 65 6e 65 73 73 5f 75 |e; .sphe|reness_u|
|00000750| 70 20 3d 20 28 5b 31 5d | 2d 74 75 62 65 6e 65 73 |p = ([1]|-tubenes|
|00000760| 73 5f 75 70 29 3b 0a 73 | 70 68 65 72 65 6e 65 73 |s_up);.s|pherenes|
|00000770| 73 5f 64 6f 77 6e 20 3d | 20 28 5b 31 5d 2d 74 75 |s_down =| ([1]-tu|
|00000780| 62 65 6e 65 73 73 5f 64 | 6f 77 6e 29 3b 0a 62 75 |beness_d|own);.bu|
|00000790| 69 6c 64 43 53 70 61 63 | 65 41 28 5b 30 5d 29 3b |ildCSpac|eA([0]);|
|000007a0| 0a 73 65 74 5f 73 68 69 | 6e 65 28 5b 33 5d 29 3b |.set_shi|ne([3]);|
|000007b0| 0a 73 65 74 5f 73 68 61 | 72 70 28 5b 31 30 30 5d |.set_sha|rp([100]|
|000007c0| 29 3b 0a 73 65 74 5f 70 | 72 69 6d 28 5b 34 5d 29 |);.set_p|rim([4])|
|000007d0| 3b 0a 73 65 74 5f 74 65 | 78 74 75 72 65 28 5b 32 |;.set_te|xture([2|
|000007e0| 5d 29 3b 0a 66 6f 72 28 | 20 6e 75 6d 20 68 6f 72 |]);.for(| num hor|
|000007f0| 69 7a 5f 61 6e 67 6c 65 | 20 3d 20 5b 30 5d 3b 20 |iz_angle| = [0]; |
|00000800| 6c 65 73 73 28 68 6f 72 | 69 7a 5f 61 6e 67 6c 65 |less(hor|iz_angle|
|00000810| 2c 66 75 6c 6c 5f 63 69 | 72 63 6c 65 29 3b 20 28 |,full_ci|rcle); (|
|00000820| 68 6f 72 69 7a 5f 61 6e | 67 6c 65 2b 68 6f 72 69 |horiz_an|gle+hori|
|00000830| 7a 5f 61 6e 67 6c 65 5f | 69 6e 63 29 20 29 20 7b |z_angle_|inc) ) {|
|00000840| 0a 70 75 73 68 28 29 3b | 0a 79 61 77 28 68 6f 72 |.push();|.yaw(hor|
|00000850| 69 7a 5f 61 6e 67 6c 65 | 29 3b 0a 70 72 69 6d 5f |iz_angle|);.prim_|
|00000860| 73 69 7a 65 20 3d 20 28 | 28 5b 32 5d 2a 72 61 64 |size = (|([2]*rad|
|00000870| 69 75 73 29 2a 73 69 6e | 28 28 68 6f 72 69 7a 5f |ius)*sin|((horiz_|
|00000880| 61 6e 67 6c 65 5f 69 6e | 63 2f 5b 32 5d 29 29 29 |angle_in|c/[2])))|
|00000890| 3b 0a 73 65 67 6d 65 6e | 74 28 5b 31 5d 2c 5b 30 |;.segmen|t([1],[0|
|000008a0| 5d 2c 5b 30 5d 2c 5b 30 | 5d 2c 72 61 64 69 75 73 |],[0],[0|],radius|
|000008b0| 2c 5b 30 5d 2c 70 72 69 | 6d 5f 73 69 7a 65 29 3b |,[0],pri|m_size);|
|000008c0| 0a 68 61 6c 66 28 5b 31 | 5d 2c 74 75 62 65 6e 65 |.half([1|],tubene|
|000008d0| 73 73 5f 75 70 2c 73 70 | 68 65 72 65 6e 65 73 73 |ss_up,sp|hereness|
|000008e0| 5f 75 70 2c 72 61 64 69 | 75 73 2c 68 6f 72 69 7a |_up,radi|us,horiz|
|000008f0| 5f 61 6e 67 6c 65 5f 69 | 6e 63 2c 70 72 69 6d 5f |_angle_i|nc,prim_|
|00000900| 73 69 7a 65 29 3b 0a 68 | 61 6c 66 28 2d 5b 31 5d |size);.h|alf(-[1]|
|00000910| 2c 74 75 62 65 6e 65 73 | 73 5f 64 6f 77 6e 2c 73 |,tubenes|s_down,s|
|00000920| 70 68 65 72 65 6e 65 73 | 73 5f 64 6f 77 6e 2c 72 |pherenes|s_down,r|
|00000930| 61 64 69 75 73 2c 68 6f | 72 69 7a 5f 61 6e 67 6c |adius,ho|riz_angl|
|00000940| 65 5f 69 6e 63 2c 70 72 | 69 6d 5f 73 69 7a 65 29 |e_inc,pr|im_size)|
|00000950| 3b 0a 70 6f 70 28 29 3b | 0a 7d 20 0a 70 6f 70 28 |;.pop();|.} .pop(|
|00000960| 29 3b 0a 7d 0a 66 75 6e | 63 20 76 6f 69 64 20 68 |);.}.fun|c void h|
|00000970| 61 6c 66 28 20 6e 75 6d | 20 64 69 72 65 63 74 69 |alf( num| directi|
|00000980| 6f 6e 2c 20 6e 75 6d 20 | 74 75 62 65 6e 65 73 73 |on, num |tubeness|
|00000990| 2c 20 6e 75 6d 20 73 70 | 68 65 72 65 6e 65 73 73 |, num sp|hereness|
|000009a0| 2c 20 6e 75 6d 20 72 61 | 64 69 75 73 2c 20 6e 75 |, num ra|dius, nu|
|000009b0| 6d 20 68 6f 72 69 7a 5f | 61 6e 67 6c 65 5f 69 6e |m horiz_|angle_in|
|000009c0| 63 2c 20 6e 75 6d 20 70 | 72 69 6d 5f 73 69 7a 65 |c, num p|rim_size|
|000009d0| 20 29 20 7b 0a 64 61 74 | 61 20 6e 75 6d 20 73 70 | ) {.dat|a num sp|
|000009e0| 69 72 61 6c 20 3d 20 5b | 30 5d 3b 20 0a 64 61 74 |iral = [|0]; .dat|
|000009f0| 61 20 6e 75 6d 20 6c 6f | 63 75 73 3b 20 0a 64 61 |a num lo|cus; .da|
|00000a00| 74 61 20 6e 75 6d 20 64 | 69 73 70 6c 61 63 65 6d |ta num d|isplacem|
|00000a10| 65 6e 74 20 3d 20 5b 30 | 5d 3b 20 0a 64 61 74 61 |ent = [0|]; .data|
|00000a20| 20 6e 75 6d 20 64 69 73 | 70 6c 61 63 65 6d 65 6e | num dis|placemen|
|00000a30| 74 5f 69 6e 63 3b 20 0a | 64 61 74 61 20 6e 75 6d |t_inc; .|data num|
|00000a40| 20 66 77 64 20 3d 20 72 | 61 64 69 75 73 3b 20 0a | fwd = r|adius; .|
|00000a50| 64 61 74 61 20 6e 75 6d | 20 76 65 72 74 5f 61 6e |data num| vert_an|
|00000a60| 67 6c 65 3b 20 0a 64 61 | 74 61 20 69 6e 74 20 73 |gle; .da|ta int s|
|00000a70| 65 67 73 20 3d 20 5b 37 | 5d 3b 20 0a 66 6f 72 28 |egs = [7|]; .for(|
|00000a80| 20 69 6e 74 20 69 20 3d | 20 5b 30 5d 3b 20 69 6c | int i =| [0]; il|
|00000a90| 65 73 73 28 69 2c 73 65 | 67 73 29 3b 20 28 69 2b |ess(i,se|gs); (i+|
|00000aa0| 5b 31 5d 29 20 29 20 7b | 0a 73 70 69 72 61 6c 20 |[1]) ) {|.spiral |
|00000ab0| 3d 20 28 73 70 69 72 61 | 6c 2b 28 73 70 69 72 61 |= (spira|l+(spira|
|00000ac0| 6c 5f 66 61 63 74 6f 72 | 2a 68 6f 72 69 7a 5f 61 |l_factor|*horiz_a|
|00000ad0| 6e 67 6c 65 5f 69 6e 63 | 29 29 3b 0a 64 69 73 70 |ngle_inc|));.disp|
|00000ae0| 6c 61 63 65 6d 65 6e 74 | 5f 69 6e 63 20 3d 20 28 |lacement|_inc = (|
|00000af0| 28 70 72 69 6d 5f 73 69 | 7a 65 2f 5b 32 5d 29 2a |(prim_si|ze/[2])*|
|00000b00| 74 75 62 65 6e 65 73 73 | 29 3b 0a 64 69 73 70 6c |tubeness|);.displ|
|00000b10| 61 63 65 6d 65 6e 74 20 | 3d 20 28 64 69 73 70 6c |acement |= (displ|
|00000b20| 61 63 65 6d 65 6e 74 2b | 64 69 73 70 6c 61 63 65 |acement+|displace|
|00000b30| 6d 65 6e 74 5f 69 6e 63 | 29 3b 0a 66 77 64 20 3d |ment_inc|);.fwd =|
|00000b40| 20 28 66 77 64 2d 28 64 | 69 73 70 6c 61 63 65 6d | (fwd-(d|isplacem|
|00000b50| 65 6e 74 5f 69 6e 63 2a | 73 69 6e 28 76 65 72 74 |ent_inc*|sin(vert|
|00000b60| 5f 61 6e 67 6c 65 29 29 | 29 3b 0a 76 65 72 74 5f |_angle))|);.vert_|
|00000b70| 61 6e 67 6c 65 20 3d 20 | 28 76 65 72 74 5f 61 6e |angle = |(vert_an|
|00000b80| 67 6c 65 2b 28 28 5b 32 | 5d 2a 61 73 69 6e 28 28 |gle+(([2|]*asin((|
|00000b90| 70 72 69 6d 5f 73 69 7a | 65 2f 28 5b 34 5d 2a 66 |prim_siz|e/([4]*f|
|00000ba0| 77 64 29 29 29 29 2a 73 | 70 68 65 72 65 6e 65 73 |wd))))*s|pherenes|
|00000bb0| 73 29 29 3b 0a 70 72 69 | 6d 5f 73 69 7a 65 20 3d |s));.pri|m_size =|
|00000bc0| 20 28 28 28 63 6f 73 28 | 76 65 72 74 5f 61 6e 67 | (((cos(|vert_ang|
|00000bd0| 6c 65 29 2a 5b 32 5d 29 | 2a 66 77 64 29 2a 73 69 |le)*[2])|*fwd)*si|
|00000be0| 6e 28 28 68 6f 72 69 7a | 5f 61 6e 67 6c 65 5f 69 |n((horiz|_angle_i|
|00000bf0| 6e 63 2f 5b 32 5d 29 29 | 29 3b 0a 6c 6f 63 75 73 |nc/[2]))|);.locus|
|00000c00| 20 3d 20 28 5b 30 2e 35 | 5d 2a 28 69 74 6f 6e 28 | = ([0.5|]*(iton(|
|00000c10| 69 29 2f 69 74 6f 6e 28 | 73 65 67 73 29 29 29 3b |i)/iton(|segs)));|
|00000c20| 0a 73 65 67 6d 65 6e 74 | 28 64 69 72 65 63 74 69 |.segment|(directi|
|00000c30| 6f 6e 2c 64 69 73 70 6c | 61 63 65 6d 65 6e 74 2c |on,displ|acement,|
|00000c40| 73 70 69 72 61 6c 2c 76 | 65 72 74 5f 61 6e 67 6c |spiral,v|ert_angl|
|00000c50| 65 2c 66 77 64 2c 6c 6f | 63 75 73 2c 70 72 69 6d |e,fwd,lo|cus,prim|
|00000c60| 5f 73 69 7a 65 29 3b 0a | 7d 20 0a 7d 0a 66 75 6e |_size);.|} .}.fun|
|00000c70| 63 20 76 6f 69 64 20 73 | 65 67 6d 65 6e 74 28 20 |c void s|egment( |
|00000c80| 6e 75 6d 20 64 69 72 65 | 63 74 69 6f 6e 2c 20 6e |num dire|ction, n|
|00000c90| 75 6d 20 64 69 73 70 6c | 61 63 65 6d 65 6e 74 2c |um displ|acement,|
|00000ca0| 20 6e 75 6d 20 73 70 69 | 72 61 6c 2c 20 6e 75 6d | num spi|ral, num|
|00000cb0| 20 76 65 72 74 5f 61 6e | 67 6c 65 2c 20 6e 75 6d | vert_an|gle, num|
|00000cc0| 20 66 77 64 2c 20 6e 75 | 6d 20 6c 6f 63 75 73 2c | fwd, nu|m locus,|
|00000cd0| 20 6e 75 6d 20 70 72 69 | 6d 5f 73 69 7a 65 20 29 | num pri|m_size )|
|00000ce0| 20 7b 0a 70 75 73 68 28 | 29 3b 0a 6d 6f 76 65 28 | {.push(|);.move(|
|00000cf0| 76 33 6d 61 6b 65 28 5b | 30 5d 2c 28 2d 64 69 72 |v3make([|0],(-dir|
|00000d00| 65 63 74 69 6f 6e 2a 64 | 69 73 70 6c 61 63 65 6d |ection*d|isplacem|
|00000d10| 65 6e 74 29 2c 5b 30 5d | 29 29 3b 0a 79 61 77 28 |ent),[0]|));.yaw(|
|00000d20| 28 64 69 72 65 63 74 69 | 6f 6e 2a 73 70 69 72 61 |(directi|on*spira|
|00000d30| 6c 29 29 3b 0a 70 69 74 | 63 68 28 28 64 69 72 65 |l));.pit|ch((dire|
|00000d40| 63 74 69 6f 6e 2a 76 65 | 72 74 5f 61 6e 67 6c 65 |ction*ve|rt_angle|
|00000d50| 29 29 3b 0a 66 6f 72 77 | 61 72 64 28 28 66 77 64 |));.forw|ard((fwd|
|00000d60| 2a 65 78 70 61 6e 64 65 | 64 29 29 3b 0a 72 6f 6c |*expande|d));.rol|
|00000d70| 6c 28 2d 72 69 67 68 74 | 5f 61 6e 67 6c 65 29 3b |l(-right|_angle);|
|00000d80| 0a 73 65 74 5f 63 6f 6c | 6f 75 72 28 63 73 70 61 |.set_col|our(cspa|
|00000d90| 63 65 28 5b 30 5d 2c 28 | 5b 30 2e 35 5d 2b 28 6c |ce([0],(|[0.5]+(l|
|00000da0| 6f 63 75 73 2a 64 69 72 | 65 63 74 69 6f 6e 29 29 |ocus*dir|ection))|
|00000db0| 29 29 3b 0a 73 63 61 6c | 65 28 76 33 6d 61 6b 65 |));.scal|e(v3make|
|00000dc0| 28 70 72 69 6d 5f 73 69 | 7a 65 2c 70 72 69 6d 5f |(prim_si|ze,prim_|
|00000dd0| 73 69 7a 65 2c 5b 35 5d | 29 29 3b 0a 6c 61 79 28 |size,[5]|));.lay(|
|00000de0| 29 3b 0a 70 6f 70 28 29 | 3b 0a 7d 0a 66 75 6e 63 |);.pop()|;.}.func|
|00000df0| 20 76 6f 69 64 20 62 75 | 69 6c 64 43 53 70 61 63 | void bu|ildCSpac|
|00000e00| 65 41 28 20 69 6e 74 20 | 69 6e 64 65 78 20 29 20 |eA( int |index ) |
|00000e10| 7b 0a 64 61 74 61 20 63 | 6f 6c 6f 75 72 20 63 30 |{.data c|olour c0|
|00000e20| 20 3d 20 5b 3c 30 2e 37 | 34 37 39 38 36 2c 30 2e | = [<0.7|47986,0.|
|00000e30| 37 39 36 38 35 38 2c 30 | 2e 39 39 39 39 39 2c 30 |796858,0|.99999,0|
|00000e40| 2e 39 39 39 39 39 3e 5d | 3a 5b 3c 30 2c 30 2e 34 |.99999>]|:[<0,0.4|
|00000e50| 2c 30 2e 39 39 39 39 39 | 2c 30 2e 39 39 39 39 39 |,0.99999|,0.99999|
|00000e60| 3e 5d 3a 5b 3c 30 2e 39 | 39 39 39 39 2c 30 2e 39 |>]:[<0.9|9999,0.9|
|00000e70| 39 39 39 39 2c 30 2e 39 | 39 39 39 39 2c 30 2e 39 |9999,0.9|9999,0.9|
|00000e80| 39 39 39 39 3e 5d 3b 20 | 0a 64 61 74 61 20 63 6f |9999>]; |.data co|
|00000e90| 6c 6f 75 72 20 63 31 20 | 3d 20 5b 3c 30 2e 38 34 |lour c1 |= [<0.84|
|00000ea0| 34 31 33 34 2c 30 2e 38 | 34 31 37 39 33 2c 30 2e |4134,0.8|41793,0.|
|00000eb0| 39 39 39 39 39 2c 30 2e | 39 39 39 39 39 3e 5d 3a |99999,0.|99999>]:|
|00000ec0| 5b 3c 30 2c 30 2e 34 2c | 30 2e 39 39 39 39 39 2c |[<0,0.4,|0.99999,|
|00000ed0| 30 2e 39 39 39 39 39 3e | 5d 3a 5b 3c 30 2e 39 39 |0.99999>|]:[<0.99|
|00000ee0| 39 39 39 2c 30 2e 39 39 | 39 39 39 2c 30 2e 39 39 |999,0.99|999,0.99|
|00000ef0| 39 39 39 2c 30 2e 39 39 | 39 39 39 3e 5d 3b 20 0a |999,0.99|999>]; .|
|00000f00| 64 61 74 61 20 63 6f 6c | 6f 75 72 20 63 32 20 3d |data col|our c2 =|
|00000f10| 20 5b 3c 30 2e 36 33 34 | 39 35 33 2c 30 2e 35 37 | [<0.634|953,0.57|
|00000f20| 37 39 34 2c 30 2e 39 39 | 39 39 39 2c 30 2e 39 39 |794,0.99|999,0.99|
|00000f30| 39 39 39 3e 5d 3a 5b 3c | 30 2c 30 2e 34 2c 30 2e |999>]:[<|0,0.4,0.|
|00000f40| 39 39 39 39 39 2c 30 2e | 39 39 39 39 39 3e 5d 3a |99999,0.|99999>]:|
|00000f50| 5b 3c 30 2e 39 39 39 39 | 39 2c 30 2e 39 39 39 39 |[<0.9999|9,0.9999|
|00000f60| 39 2c 30 2e 39 39 39 39 | 39 2c 30 2e 39 39 39 39 |9,0.9999|9,0.9999|
|00000f70| 39 3e 5d 3b 20 0a 64 61 | 74 61 20 63 6f 6c 6f 75 |9>]; .da|ta colou|
|00000f80| 72 20 63 33 20 3d 20 5b | 3c 30 2e 35 32 36 39 34 |r c3 = [|<0.52694|
|00000f90| 37 2c 30 2e 36 31 31 37 | 31 38 2c 30 2e 39 39 39 |7,0.6117|18,0.999|
|00000fa0| 39 39 2c 30 2e 39 39 39 | 39 39 3e 5d 3a 5b 3c 30 |99,0.999|99>]:[<0|
|00000fb0| 2c 30 2e 34 2c 30 2e 39 | 39 39 39 39 2c 30 2e 39 |,0.4,0.9|9999,0.9|
|00000fc0| 39 39 39 39 3e 5d 3a 5b | 3c 30 2e 39 39 39 39 39 |9999>]:[|<0.99999|
|00000fd0| 2c 30 2e 39 39 39 39 39 | 2c 30 2e 39 39 39 39 39 |,0.99999|,0.99999|
|00000fe0| 2c 30 2e 39 39 39 39 39 | 3e 5d 3b 20 0a 64 61 74 |,0.99999|>]; .dat|
|00000ff0| 61 20 6e 75 6d 20 64 65 | 6c 74 61 31 20 3d 20 5b |a num de|lta1 = [|
|00001000| 30 2e 34 39 35 34 37 31 | 5d 3a 5b 30 2e 32 35 5d |0.495471|]:[0.25]|
|00001010| 3a 5b 31 5d 3b 20 0a 64 | 61 74 61 20 6e 75 6d 20 |:[1]; .d|ata num |
|00001020| 64 65 6c 74 61 32 20 3d | 20 5b 30 2e 37 39 38 32 |delta2 =| [0.7982|
|00001030| 30 33 5d 3a 5b 30 2e 32 | 35 5d 3a 5b 31 5d 3b 20 |03]:[0.2|5]:[1]; |
|00001040| 0a 64 61 74 61 20 6e 75 | 6d 20 64 65 6c 74 61 33 |.data nu|m delta3|
|00001050| 20 3d 20 5b 30 2e 33 34 | 31 32 34 31 5d 3a 5b 30 | = [0.34|1241]:[0|
|00001060| 2e 32 35 5d 3a 5b 31 5d | 3b 20 0a 69 6e 69 74 5f |.25]:[1]|; .init_|
|00001070| 63 73 70 61 63 65 28 69 | 6e 64 65 78 2c 63 30 29 |cspace(i|ndex,c0)|
|00001080| 3b 0a 65 78 74 65 6e 64 | 5f 63 73 70 61 63 65 28 |;.extend|_cspace(|
|00001090| 69 6e 64 65 78 2c 64 65 | 6c 74 61 31 2c 63 31 29 |index,de|lta1,c1)|
|000010a0| 3b 0a 65 78 74 65 6e 64 | 5f 63 73 70 61 63 65 28 |;.extend|_cspace(|
|000010b0| 69 6e 64 65 78 2c 64 65 | 6c 74 61 32 2c 63 32 29 |index,de|lta2,c2)|
|000010c0| 3b 0a 65 78 74 65 6e 64 | 5f 63 73 70 61 63 65 28 |;.extend|_cspace(|
|000010d0| 69 6e 64 65 78 2c 64 65 | 6c 74 61 33 2c 63 33 29 |index,de|lta3,c3)|
|000010e0| 3b 0a 7d 0a 66 75 6e 63 | 20 76 6f 69 64 20 6d 6f |;.}.func| void mo|
|000010f0| 6e 73 74 65 72 28 29 20 | 7b 0a 70 75 73 68 28 29 |nster() |{.push()|
|00001100| 3b 0a 64 61 74 61 20 6e | 75 6d 20 6d 6f 6e 73 74 |;.data n|um monst|
|00001110| 65 72 5f 73 63 6c 20 3d | 20 5b 30 2e 39 35 33 39 |er_scl =| [0.9539|
|00001120| 37 38 5d 3a 5b 30 2e 31 | 5d 3a 5b 32 5d 3b 20 0a |78]:[0.1|]:[2]; .|
|00001130| 64 61 74 61 20 76 65 63 | 33 20 6f 66 66 5f 63 65 |data vec|3 off_ce|
|00001140| 6e 74 65 72 20 3d 20 5b | 3c 30 2c 31 2e 35 38 34 |nter = [|<0,1.584|
|00001150| 39 31 2c 30 3e 5d 3a 5b | 3c 30 2c 2d 35 2c 30 3e |91,0>]:[|<0,-5,0>|
|00001160| 5d 3a 5b 3c 30 2c 35 2c | 30 3e 5d 3b 20 0a 64 61 |]:[<0,5,|0>]; .da|
|00001170| 74 61 20 6e 75 6d 20 6d | 6f 6e 73 74 65 72 5f 72 |ta num m|onster_r|
|00001180| 6f 6c 6c 20 3d 20 5b 2d | 30 2e 36 30 33 35 33 39 |oll = [-|0.603539|
|00001190| 5d 3a 5b 2d 33 5d 3a 5b | 33 5d 3b 20 0a 64 61 74 |]:[-3]:[|3]; .dat|
|000011a0| 61 20 6e 75 6d 20 6d 6f | 6e 73 74 65 72 5f 79 61 |a num mo|nster_ya|
|000011b0| 77 20 3d 20 5b 2d 31 2e | 30 32 35 33 36 5d 3a 5b |w = [-1.|02536]:[|
|000011c0| 2d 33 5d 3a 5b 33 5d 3b | 20 0a 64 61 74 61 20 6e |-3]:[3];| .data n|
|000011d0| 75 6d 20 6d 6f 6e 73 74 | 65 72 5f 70 69 74 63 68 |um monst|er_pitch|
|000011e0| 20 3d 20 5b 2d 30 2e 38 | 33 39 34 36 37 5d 3a 5b | = [-0.8|39467]:[|
|000011f0| 2d 33 5d 3a 5b 33 5d 3b | 20 0a 75 73 63 61 6c 65 |-3]:[3];| .uscale|
|00001200| 28 6d 6f 6e 73 74 65 72 | 5f 73 63 6c 29 3b 0a 6d |(monster|_scl);.m|
|00001210| 6f 76 65 28 6f 66 66 5f | 63 65 6e 74 65 72 29 3b |ove(off_|center);|
|00001220| 0a 72 6f 6c 6c 28 6d 6f | 6e 73 74 65 72 5f 72 6f |.roll(mo|nster_ro|
|00001230| 6c 6c 29 3b 0a 79 61 77 | 28 6d 6f 6e 73 74 65 72 |ll);.yaw|(monster|
|00001240| 5f 79 61 77 29 3b 0a 70 | 69 74 63 68 28 6d 6f 6e |_yaw);.p|itch(mon|
|00001250| 73 74 65 72 5f 70 69 74 | 63 68 29 3b 0a 68 65 61 |ster_pit|ch);.hea|
|00001260| 64 28 29 3b 0a 65 79 65 | 73 28 29 3b 0a 74 65 6e |d();.eye|s();.ten|
|00001270| 74 61 63 6c 65 73 28 29 | 3b 0a 70 6f 70 28 29 3b |tacles()|;.pop();|
|00001280| 0a 7d 0a 66 75 6e 63 20 | 76 6f 69 64 20 68 65 61 |.}.func |void hea|
|00001290| 64 28 29 20 7b 0a 64 61 | 74 61 20 6e 75 6d 20 68 |d() {.da|ta num h|
|000012a0| 65 61 64 5f 72 6f 6c 6c | 20 3d 20 5b 32 2e 38 38 |ead_roll| = [2.88|
|000012b0| 39 32 36 5d 3a 5b 2d 36 | 5d 3a 5b 36 5d 3b 20 0a |926]:[-6|]:[6]; .|
|000012c0| 64 61 74 61 20 6e 75 6d | 20 68 65 61 64 5f 79 61 |data num| head_ya|
|000012d0| 77 20 3d 20 5b 2d 32 2e | 33 39 33 32 39 5d 3a 5b |w = [-2.|39329]:[|
|000012e0| 2d 36 5d 3a 5b 36 5d 3b | 20 0a 64 61 74 61 20 6e |-6]:[6];| .data n|
|000012f0| 75 6d 20 68 65 61 64 5f | 70 69 74 63 68 20 3d 20 |um head_|pitch = |
|00001300| 5b 2d 30 2e 32 39 36 31 | 34 31 5d 3a 5b 2d 36 5d |[-0.2961|41]:[-6]|
|00001310| 3a 5b 36 5d 3b 20 0a 64 | 61 74 61 20 76 65 63 33 |:[6]; .d|ata vec3|
|00001320| 20 73 74 72 65 74 63 68 | 20 3d 20 5b 3c 30 2e 38 | stretch| = [<0.8|
|00001330| 38 36 34 39 32 2c 30 2e | 39 38 35 31 32 2c 31 2e |86492,0.|98512,1.|
|00001340| 30 30 37 31 3e 5d 3a 5b | 3c 30 2e 38 2c 30 2e 38 |0071>]:[|<0.8,0.8|
|00001350| 2c 30 2e 38 3e 5d 3a 5b | 3c 31 2e 32 2c 31 2e 32 |,0.8>]:[|<1.2,1.2|
|00001360| 2c 31 2e 32 3e 5d 3b 20 | 0a 70 75 73 68 28 29 3b |,1.2>]; |.push();|
|00001370| 0a 73 65 74 5f 70 72 69 | 6d 28 5b 33 5d 29 3b 0a |.set_pri|m([3]);.|
|00001380| 75 73 63 61 6c 65 28 68 | 65 61 64 5f 73 69 7a 65 |uscale(h|ead_size|
|00001390| 29 3b 0a 65 67 67 5f 72 | 6f 6c 6c 28 68 65 61 64 |);.egg_r|oll(head|
|000013a0| 5f 72 6f 6c 6c 29 3b 0a | 65 67 67 5f 79 61 77 28 |_roll);.|egg_yaw(|
|000013b0| 68 65 61 64 5f 79 61 77 | 29 3b 0a 65 67 67 5f 70 |head_yaw|);.egg_p|
|000013c0| 69 74 63 68 28 68 65 61 | 64 5f 70 69 74 63 68 29 |itch(hea|d_pitch)|
|000013d0| 3b 0a 73 63 61 6c 65 28 | 73 74 72 65 74 63 68 29 |;.scale(|stretch)|
|000013e0| 3b 0a 70 69 74 63 68 28 | 2d 68 65 61 64 5f 70 69 |;.pitch(|-head_pi|
|000013f0| 74 63 68 29 3b 0a 79 61 | 77 28 2d 68 65 61 64 5f |tch);.ya|w(-head_|
|00001400| 79 61 77 29 3b 0a 72 6f | 6c 6c 28 2d 68 65 61 64 |yaw);.ro|ll(-head|
|00001410| 5f 72 6f 6c 6c 29 3b 0a | 73 65 74 5f 74 65 78 74 |_roll);.|set_text|
|00001420| 75 72 65 28 5b 30 5d 29 | 3b 0a 73 65 74 5f 63 6f |ure([0])|;.set_co|
|00001430| 6c 6f 75 72 28 68 65 61 | 64 5f 63 6f 6c 6f 75 72 |lour(hea|d_colour|
|00001440| 29 3b 0a 6c 61 79 28 29 | 3b 0a 70 6f 70 28 29 3b |);.lay()|;.pop();|
|00001450| 0a 7d 0a 66 75 6e 63 20 | 76 6f 69 64 20 65 79 65 |.}.func |void eye|
|00001460| 73 28 29 20 7b 0a 70 75 | 73 68 28 29 3b 0a 64 61 |s() {.pu|sh();.da|
|00001470| 74 61 20 6e 75 6d 20 65 | 79 65 73 20 3d 20 5b 37 |ta num e|yes = [7|
|00001480| 2e 39 33 32 36 32 5d 3a | 5b 31 5d 3a 5b 33 35 5d |.93262]:|[1]:[35]|
|00001490| 3b 20 0a 64 61 74 61 20 | 6e 75 6d 20 6d 61 78 5f |; .data |num max_|
|000014a0| 65 79 65 73 20 3d 20 5b | 33 35 5d 3b 20 0a 64 61 |eyes = [|35]; .da|
|000014b0| 74 61 20 6e 75 6d 20 72 | 6f 6c 6c 5f 72 65 70 73 |ta num r|oll_reps|
|000014c0| 20 3d 20 5b 31 33 39 38 | 2e 37 33 5d 3b 20 0a 64 | = [1398|.73]; .d|
|000014d0| 61 74 61 20 6e 75 6d 20 | 72 6f 6c 6c 5f 6d 61 78 |ata num |roll_max|
|000014e0| 20 3d 20 5b 31 37 31 33 | 2e 35 38 5d 3b 20 0a 64 | = [1713|.58]; .d|
|000014f0| 61 74 61 20 6e 75 6d 20 | 72 6f 6c 6c 5f 6f 66 66 |ata num |roll_off|
|00001500| 73 65 74 20 3d 20 5b 31 | 2e 33 34 32 34 5d 3b 20 |set = [1|.3424]; |
|00001510| 0a 64 61 74 61 20 6e 75 | 6d 20 70 69 74 63 68 5f |.data nu|m pitch_|
|00001520| 72 65 70 73 20 3d 20 5b | 35 36 37 2e 39 37 32 5d |reps = [|567.972]|
|00001530| 3b 20 0a 64 61 74 61 20 | 6e 75 6d 20 70 69 74 63 |; .data |num pitc|
|00001540| 68 5f 6d 61 78 20 3d 20 | 5b 39 31 37 2e 31 32 5d |h_max = |[917.12]|
|00001550| 3b 20 0a 64 61 74 61 20 | 6e 75 6d 20 70 69 74 63 |; .data |num pitc|
|00001560| 68 5f 6f 66 66 73 65 74 | 20 3d 20 5b 30 2e 37 37 |h_offset| = [0.77|
|00001570| 35 33 5d 3b 20 0a 64 61 | 74 61 20 6e 75 6d 20 79 |53]; .da|ta num y|
|00001580| 61 77 5f 72 65 70 73 20 | 3d 20 5b 31 39 38 39 2e |aw_reps |= [1989.|
|00001590| 33 34 5d 3b 20 0a 64 61 | 74 61 20 6e 75 6d 20 79 |34]; .da|ta num y|
|000015a0| 61 77 5f 6d 61 78 20 3d | 20 5b 31 34 33 33 2e 37 |aw_max =| [1433.7|
|000015b0| 38 5d 3b 20 0a 64 61 74 | 61 20 6e 75 6d 20 79 61 |8]; .dat|a num ya|
|000015c0| 77 5f 6f 66 66 73 65 74 | 20 3d 20 5b 35 2e 39 33 |w_offset| = [5.93|
|000015d0| 34 36 5d 3b 20 0a 64 61 | 74 61 20 6e 75 6d 20 73 |46]; .da|ta num s|
|000015e0| 69 7a 65 5f 72 65 70 73 | 20 3d 20 5b 34 2e 37 32 |ize_reps| = [4.72|
|000015f0| 36 32 34 5d 3a 5b 30 5d | 3a 5b 38 5d 3b 20 0a 64 |624]:[0]|:[8]; .d|
|00001600| 61 74 61 20 6e 75 6d 20 | 73 69 7a 65 5f 76 61 72 |ata num |size_var|
|00001610| 20 3d 20 5b 30 2e 31 36 | 33 33 35 35 5d 3a 5b 2d | = [0.16|3355]:[-|
|00001620| 30 2e 36 5d 3a 5b 30 2e | 36 5d 3b 20 0a 64 61 74 |0.6]:[0.|6]; .dat|
|00001630| 61 20 6e 75 6d 20 65 79 | 65 5f 73 69 7a 65 3b 20 |a num ey|e_size; |
|00001640| 0a 66 6f 72 28 20 6e 75 | 6d 20 69 20 3d 20 5b 30 |.for( nu|m i = [0|
|00001650| 5d 3b 20 6c 65 73 73 28 | 69 2c 65 79 65 73 29 3b |]; less(|i,eyes);|
|00001660| 20 28 69 2b 5b 31 5d 29 | 20 29 20 7b 0a 64 61 74 | (i+[1])| ) {.dat|
|00001670| 61 20 6e 75 6d 20 6c 6f | 63 75 73 20 3d 20 28 69 |a num lo|cus = (i|
|00001680| 2f 28 6d 61 78 5f 65 79 | 65 73 2d 5b 31 5d 29 29 |/(max_ey|es-[1]))|
|00001690| 3b 20 0a 72 6f 6c 6c 28 | 28 73 69 6e 28 28 28 72 |; .roll(|(sin(((r|
|000016a0| 6f 6c 6c 5f 72 65 70 73 | 2a 5b 33 2e 31 34 31 35 |oll_reps|*[3.1415|
|000016b0| 39 5d 29 2a 28 6c 6f 63 | 75 73 2b 72 6f 6c 6c 5f |9])*(loc|us+roll_|
|000016c0| 6f 66 66 73 65 74 29 29 | 29 2a 72 6f 6c 6c 5f 6d |offset))|)*roll_m|
|000016d0| 61 78 29 29 3b 0a 79 61 | 77 28 28 73 69 6e 28 28 |ax));.ya|w((sin((|
|000016e0| 28 79 61 77 5f 72 65 70 | 73 2a 5b 33 2e 31 34 31 |(yaw_rep|s*[3.141|
|000016f0| 35 39 5d 29 2a 28 6c 6f | 63 75 73 2b 79 61 77 5f |59])*(lo|cus+yaw_|
|00001700| 6f 66 66 73 65 74 29 29 | 29 2a 79 61 77 5f 6d 61 |offset))|)*yaw_ma|
|00001710| 78 29 29 3b 0a 70 69 74 | 63 68 28 28 73 69 6e 28 |x));.pit|ch((sin(|
|00001720| 28 28 70 69 74 63 68 5f | 72 65 70 73 2a 5b 33 2e |((pitch_|reps*[3.|
|00001730| 31 34 31 35 39 5d 29 2a | 28 6c 6f 63 75 73 2b 70 |14159])*|(locus+p|
|00001740| 69 74 63 68 5f 6f 66 66 | 73 65 74 29 29 29 2a 70 |itch_off|set)))*p|
|00001750| 69 74 63 68 5f 6d 61 78 | 29 29 3b 0a 65 79 65 5f |itch_max|));.eye_|
|00001760| 73 69 7a 65 20 3d 20 28 | 5b 31 5d 2b 28 73 69 6e |size = (|[1]+(sin|
|00001770| 28 28 28 73 69 7a 65 5f | 72 65 70 73 2a 5b 33 2e |(((size_|reps*[3.|
|00001780| 31 34 31 35 39 5d 29 2a | 6c 6f 63 75 73 29 29 2a |14159])*|locus))*|
|00001790| 73 69 7a 65 5f 76 61 72 | 29 29 3b 0a 69 66 28 6d |size_var|));.if(m|
|000017a0| 6f 72 65 28 28 69 2b 5b | 31 5d 29 2c 65 79 65 73 |ore((i+[|1]),eyes|
|000017b0| 29 29 20 7b 0a 65 79 65 | 5f 73 69 7a 65 20 3d 20 |)) {.eye|_size = |
|000017c0| 28 65 79 65 5f 73 69 7a | 65 2a 28 65 79 65 73 25 |(eye_siz|e*(eyes%|
|000017d0| 69 29 29 3b 0a 7d 20 0a | 70 75 73 68 28 29 3b 0a |i));.} .|push();.|
|000017e0| 66 6f 72 77 61 72 64 28 | 28 68 65 61 64 5f 73 69 |forward(|(head_si|
|000017f0| 7a 65 2f 5b 32 5d 29 29 | 3b 0a 65 79 65 28 65 79 |ze/[2]))|;.eye(ey|
|00001800| 65 5f 73 69 7a 65 29 3b | 0a 70 6f 70 28 29 3b 0a |e_size);|.pop();.|
|00001810| 7d 20 0a 70 6f 70 28 29 | 3b 0a 7d 0a 66 75 6e 63 |} .pop()|;.}.func|
|00001820| 20 76 6f 69 64 20 74 65 | 6e 74 61 63 6c 65 73 28 | void te|ntacles(|
|00001830| 29 20 7b 0a 70 75 73 68 | 28 29 3b 0a 64 61 74 61 |) {.push|();.data|
|00001840| 20 6e 75 6d 20 74 65 6e | 74 61 63 6c 65 73 20 3d | num ten|tacles =|
|00001850| 20 5b 32 2e 36 39 32 30 | 32 5d 3a 5b 30 5d 3a 5b | [2.6920|2]:[0]:[|
|00001860| 34 5d 3b 20 0a 64 61 74 | 61 20 6e 75 6d 20 6d 61 |4]; .dat|a num ma|
|00001870| 78 5f 74 65 6e 74 61 63 | 6c 65 73 20 3d 20 5b 34 |x_tentac|les = [4|
|00001880| 5d 3b 20 0a 64 61 74 61 | 20 6e 75 6d 20 72 6f 6c |]; .data| num rol|
|00001890| 6c 5f 72 65 70 73 20 3d | 20 5b 31 35 39 37 2e 31 |l_reps =| [1597.1|
|000018a0| 31 5d 3b 20 0a 64 61 74 | 61 20 6e 75 6d 20 72 6f |1]; .dat|a num ro|
|000018b0| 6c 6c 5f 6d 61 78 20 3d | 20 5b 31 34 33 2e 33 32 |ll_max =| [143.32|
|000018c0| 34 5d 3b 20 0a 64 61 74 | 61 20 6e 75 6d 20 72 6f |4]; .dat|a num ro|
|000018d0| 6c 6c 5f 6f 66 66 73 65 | 74 20 3d 20 5b 30 2e 37 |ll_offse|t = [0.7|
|000018e0| 37 33 39 5d 3b 20 0a 64 | 61 74 61 20 6e 75 6d 20 |739]; .d|ata num |
|000018f0| 70 69 74 63 68 5f 72 65 | 70 73 20 3d 20 5b 31 32 |pitch_re|ps = [12|
|00001900| 35 39 2e 33 35 5d 3b 20 | 0a 64 61 74 61 20 6e 75 |59.35]; |.data nu|
|00001910| 6d 20 70 69 74 63 68 5f | 6d 61 78 20 3d 20 5b 39 |m pitch_|max = [9|
|00001920| 38 37 2e 39 39 37 5d 3b | 20 0a 64 61 74 61 20 6e |87.997];| .data n|
|00001930| 75 6d 20 70 69 74 63 68 | 5f 6f 66 66 73 65 74 20 |um pitch|_offset |
|00001940| 3d 20 5b 31 2e 31 31 39 | 33 5d 3b 20 0a 64 61 74 |= [1.119|3]; .dat|
|00001950| 61 20 6e 75 6d 20 79 61 | 77 5f 72 65 70 73 20 3d |a num ya|w_reps =|
|00001960| 20 5b 33 34 33 2e 33 39 | 38 5d 3b 20 0a 64 61 74 | [343.39|8]; .dat|
|00001970| 61 20 6e 75 6d 20 79 61 | 77 5f 6d 61 78 20 3d 20 |a num ya|w_max = |
|00001980| 5b 31 33 33 39 2e 31 33 | 5d 3b 20 0a 64 61 74 61 |[1339.13|]; .data|
|00001990| 20 6e 75 6d 20 79 61 77 | 5f 6f 66 66 73 65 74 20 | num yaw|_offset |
|000019a0| 3d 20 5b 33 2e 39 31 36 | 5d 3b 20 0a 64 61 74 61 |= [3.916|]; .data|
|000019b0| 20 6e 75 6d 20 63 6f 6d | 70 6c 65 74 65 6e 65 73 | num com|pletenes|
|000019c0| 73 5f 72 65 70 73 20 3d | 20 5b 30 2e 38 35 35 36 |s_reps =| [0.8556|
|000019d0| 38 5d 3a 5b 30 5d 3a 5b | 33 5d 3b 20 0a 64 61 74 |8]:[0]:[|3]; .dat|
|000019e0| 61 20 6e 75 6d 20 63 6f | 6d 70 6c 65 74 65 6e 65 |a num co|mpletene|
|000019f0| 73 73 5f 76 61 72 20 3d | 20 5b 30 2e 35 5d 3b 20 |ss_var =| [0.5]; |
|00001a00| 0a 64 61 74 61 20 6e 75 | 6d 20 63 6f 6d 70 6c 65 |.data nu|m comple|
|00001a10| 74 65 6e 65 73 73 3b 20 | 0a 66 6f 72 28 20 6e 75 |teness; |.for( nu|
|00001a20| 6d 20 69 20 3d 20 5b 30 | 5d 3b 20 6c 65 73 73 28 |m i = [0|]; less(|
|00001a30| 69 2c 74 65 6e 74 61 63 | 6c 65 73 29 3b 20 28 69 |i,tentac|les); (i|
|00001a40| 2b 5b 31 5d 29 20 29 20 | 7b 0a 64 61 74 61 20 6e |+[1]) ) |{.data n|
|00001a50| 75 6d 20 6c 6f 63 75 73 | 20 3d 20 28 69 2f 28 6d |um locus| = (i/(m|
|00001a60| 61 78 5f 74 65 6e 74 61 | 63 6c 65 73 2d 5b 31 5d |ax_tenta|cles-[1]|
|00001a70| 29 29 3b 20 0a 72 6f 6c | 6c 28 28 73 69 6e 28 28 |)); .rol|l((sin((|
|00001a80| 28 72 6f 6c 6c 5f 72 65 | 70 73 2a 5b 33 2e 31 34 |(roll_re|ps*[3.14|
|00001a90| 31 35 39 5d 29 2a 28 6c | 6f 63 75 73 2b 72 6f 6c |159])*(l|ocus+rol|
|00001aa0| 6c 5f 6f 66 66 73 65 74 | 29 29 29 2a 72 6f 6c 6c |l_offset|)))*roll|
|00001ab0| 5f 6d 61 78 29 29 3b 0a | 79 61 77 28 28 73 69 6e |_max));.|yaw((sin|
|00001ac0| 28 28 28 79 61 77 5f 72 | 65 70 73 2a 5b 33 2e 31 |(((yaw_r|eps*[3.1|
|00001ad0| 34 31 35 39 5d 29 2a 28 | 6c 6f 63 75 73 2b 79 61 |4159])*(|locus+ya|
|00001ae0| 77 5f 6f 66 66 73 65 74 | 29 29 29 2a 79 61 77 5f |w_offset|)))*yaw_|
|00001af0| 6d 61 78 29 29 3b 0a 70 | 69 74 63 68 28 28 73 69 |max));.p|itch((si|
|00001b00| 6e 28 28 28 70 69 74 63 | 68 5f 72 65 70 73 2a 5b |n(((pitc|h_reps*[|
|00001b10| 33 2e 31 34 31 35 39 5d | 29 2a 28 6c 6f 63 75 73 |3.14159]|)*(locus|
|00001b20| 2b 70 69 74 63 68 5f 6f | 66 66 73 65 74 29 29 29 |+pitch_o|ffset)))|
|00001b30| 2a 70 69 74 63 68 5f 6d | 61 78 29 29 3b 0a 63 6f |*pitch_m|ax));.co|
|00001b40| 6d 70 6c 65 74 65 6e 65 | 73 73 20 3d 20 28 5b 30 |mpletene|ss = ([0|
|00001b50| 2e 35 5d 2b 28 73 69 6e | 28 28 28 63 6f 6d 70 6c |.5]+(sin|(((compl|
|00001b60| 65 74 65 6e 65 73 73 5f | 72 65 70 73 2a 5b 33 2e |eteness_|reps*[3.|
|00001b70| 31 34 31 35 39 5d 29 2a | 6c 6f 63 75 73 29 29 2a |14159])*|locus))*|
|00001b80| 63 6f 6d 70 6c 65 74 65 | 6e 65 73 73 5f 76 61 72 |complete|ness_var|
|00001b90| 29 29 3b 0a 69 66 28 6d | 6f 72 65 28 28 69 2b 5b |));.if(m|ore((i+[|
|00001ba0| 31 5d 29 2c 74 65 6e 74 | 61 63 6c 65 73 29 29 20 |1]),tent|acles)) |
|00001bb0| 7b 0a 63 6f 6d 70 6c 65 | 74 65 6e 65 73 73 20 3d |{.comple|teness =|
|00001bc0| 20 28 63 6f 6d 70 6c 65 | 74 65 6e 65 73 73 2a 28 | (comple|teness*(|
|00001bd0| 74 65 6e 74 61 63 6c 65 | 73 25 69 29 29 3b 0a 7d |tentacle|s%i));.}|
|00001be0| 20 0a 70 75 73 68 28 29 | 3b 0a 73 65 74 5f 74 65 | .push()|;.set_te|
|00001bf0| 78 74 75 72 65 28 5b 30 | 5d 29 3b 0a 66 6f 72 77 |xture([0|]);.forw|
|00001c00| 61 72 64 28 28 68 65 61 | 64 5f 73 69 7a 65 2f 5b |ard((hea|d_size/[|
|00001c10| 32 5d 29 29 3b 0a 74 65 | 6e 74 61 63 6c 65 28 63 |2]));.te|ntacle(c|
|00001c20| 6f 6d 70 6c 65 74 65 6e | 65 73 73 29 3b 0a 70 6f |ompleten|ess);.po|
|00001c30| 70 28 29 3b 0a 7d 20 0a | 70 6f 70 28 29 3b 0a 7d |p();.} .|pop();.}|
|00001c40| 0a 66 75 6e 63 20 76 6f | 69 64 20 65 79 65 28 20 |.func vo|id eye( |
|00001c50| 6e 75 6d 20 73 69 7a 65 | 20 29 20 7b 0a 64 61 74 |num size| ) {.dat|
|00001c60| 61 20 63 6f 6c 6f 75 72 | 20 62 61 6c 6c 5f 63 6f |a colour| ball_co|
|00001c70| 6c 6f 75 72 20 3d 20 5b | 3c 30 2e 32 34 38 35 31 |lour = [|<0.24851|
|00001c80| 35 2c 30 2e 31 34 31 34 | 36 37 2c 31 2c 31 3e 5d |5,0.1414|67,1,1>]|
|00001c90| 3a 5b 3c 30 2c 30 2c 31 | 2c 31 3e 5d 3a 5b 3c 31 |:[<0,0,1|,1>]:[<1|
|00001ca0| 2c 30 2e 32 35 2c 31 2c | 31 3e 5d 3b 20 0a 64 61 |,0.25,1,|1>]; .da|
|00001cb0| 74 61 20 63 6f 6c 6f 75 | 72 20 69 72 69 73 5f 63 |ta colou|r iris_c|
|00001cc0| 6f 6c 6f 75 72 20 3d 20 | 5b 3c 30 2e 34 37 38 33 |olour = |[<0.4783|
|00001cd0| 36 39 2c 30 2e 38 37 30 | 34 32 32 2c 30 2e 38 30 |69,0.870|422,0.80|
|00001ce0| 37 39 36 36 2c 30 2e 36 | 35 32 36 39 32 3e 5d 3a |7966,0.6|52692>]:|
|00001cf0| 5b 3c 30 2c 30 2e 34 2c | 30 2e 35 2c 30 2e 35 3e |[<0,0.4,|0.5,0.5>|
|00001d00| 5d 3a 5b 3c 30 2e 37 2c | 31 2c 31 2c 31 3e 5d 3b |]:[<0.7,|1,1,1>];|
|00001d10| 20 0a 64 61 74 61 20 63 | 6f 6c 6f 75 72 20 70 75 | .data c|olour pu|
|00001d20| 70 69 6c 5f 63 6f 6c 6f | 75 72 20 3d 20 5b 3c 30 |pil_colo|ur = [<0|
|00001d30| 2c 30 2c 30 2c 30 3e 5d | 3b 20 0a 64 61 74 61 20 |,0,0,0>]|; .data |
|00001d40| 6e 75 6d 20 64 69 6c 61 | 74 69 6f 6e 5f 66 61 63 |num dila|tion_fac|
|00001d50| 74 6f 72 20 3d 20 5b 30 | 2e 30 36 34 30 31 37 37 |tor = [0|.0640177|
|00001d60| 5d 3a 5b 30 5d 3a 5b 31 | 5d 3b 20 0a 64 61 74 61 |]:[0]:[1|]; .data|
|00001d70| 20 6e 75 6d 20 6c 69 7a | 61 72 64 5f 66 61 63 74 | num liz|ard_fact|
|00001d80| 6f 72 20 3d 20 5b 30 2e | 35 35 30 33 30 35 5d 3a |or = [0.|550305]:|
|00001d90| 5b 30 5d 3a 5b 31 5d 3b | 20 0a 64 61 74 61 20 6e |[0]:[1];| .data n|
|00001da0| 75 6d 20 6d 69 6e 5f 64 | 69 6c 61 74 69 6f 6e 20 |um min_d|ilation |
|00001db0| 3d 20 5b 30 2e 32 5d 3b | 20 0a 64 61 74 61 20 6e |= [0.2];| .data n|
|00001dc0| 75 6d 20 6d 61 78 5f 64 | 69 6c 61 74 69 6f 6e 20 |um max_d|ilation |
|00001dd0| 3d 20 5b 30 2e 37 5d 3b | 20 0a 64 61 74 61 20 6e |= [0.7];| .data n|
|00001de0| 75 6d 20 64 69 6c 61 74 | 69 6f 6e 5f 64 69 66 66 |um dilat|ion_diff|
|00001df0| 20 3d 20 28 6d 61 78 5f | 64 69 6c 61 74 69 6f 6e | = (max_|dilation|
|00001e00| 2d 6d 69 6e 5f 64 69 6c | 61 74 69 6f 6e 29 3b 20 |-min_dil|ation); |
|00001e10| 0a 64 61 74 61 20 6e 75 | 6d 20 64 69 6c 61 74 69 |.data nu|m dilati|
|00001e20| 6f 6e 20 3d 20 28 6d 69 | 6e 5f 64 69 6c 61 74 69 |on = (mi|n_dilati|
|00001e30| 6f 6e 2b 28 64 69 6c 61 | 74 69 6f 6e 5f 66 61 63 |on+(dila|tion_fac|
|00001e40| 74 6f 72 2a 64 69 6c 61 | 74 69 6f 6e 5f 64 69 66 |tor*dila|tion_dif|
|00001e50| 66 29 29 3b 20 0a 64 61 | 74 61 20 6e 75 6d 20 6c |f)); .da|ta num l|
|00001e60| 69 7a 61 72 64 20 3d 20 | 28 28 6d 61 78 5f 64 69 |izard = |((max_di|
|00001e70| 6c 61 74 69 6f 6e 2d 64 | 69 6c 61 74 69 6f 6e 29 |lation-d|ilation)|
|00001e80| 2a 6c 69 7a 61 72 64 5f | 66 61 63 74 6f 72 29 3b |*lizard_|factor);|
|00001e90| 20 0a 70 75 73 68 28 29 | 3b 0a 73 65 74 5f 70 72 | .push()|;.set_pr|
|00001ea0| 69 6d 28 5b 33 5d 29 3b | 0a 75 73 63 61 6c 65 28 |im([3]);|.uscale(|
|00001eb0| 73 69 7a 65 29 3b 0a 73 | 63 61 6c 65 28 5b 3c 31 |size);.s|cale([<1|
|00001ec0| 2c 31 2c 30 2e 37 38 3e | 5d 29 3b 0a 66 6f 72 77 |,1,0.78>|]);.forw|
|00001ed0| 61 72 64 28 2d 5b 30 2e | 32 5d 29 3b 0a 73 65 74 |ard(-[0.|2]);.set|
|00001ee0| 5f 63 6f 6c 6f 75 72 28 | 62 61 6c 6c 5f 63 6f 6c |_colour(|ball_col|
|00001ef0| 6f 75 72 29 3b 0a 73 65 | 74 5f 74 65 78 74 75 72 |our);.se|t_textur|
|00001f00| 65 28 5b 31 5d 29 3b 0a | 6c 61 79 28 29 3b 0a 66 |e([1]);.|lay();.f|
|00001f10| 6f 72 77 61 72 64 28 5b | 30 2e 34 35 35 5d 29 3b |orward([|0.455]);|
|00001f20| 0a 73 65 74 5f 74 65 78 | 74 75 72 65 28 5b 2d 31 |.set_tex|ture([-1|
|00001f30| 5d 29 3b 0a 73 63 61 6c | 65 28 5b 3c 30 2e 35 2c |]);.scal|e([<0.5,|
|00001f40| 30 2e 35 2c 30 2e 30 36 | 3e 5d 29 3b 0a 73 65 74 |0.5,0.06|>]);.set|
|00001f50| 5f 63 6f 6c 6f 75 72 28 | 69 72 69 73 5f 63 6f 6c |_colour(|iris_col|
|00001f60| 6f 75 72 29 3b 0a 6c 61 | 79 28 29 3b 0a 66 6f 72 |our);.la|y();.for|
|00001f70| 77 61 72 64 28 5b 30 2e | 35 5d 29 3b 0a 73 63 61 |ward([0.|5]);.sca|
|00001f80| 6c 65 28 76 33 6d 61 6b | 65 28 64 69 6c 61 74 69 |le(v3mak|e(dilati|
|00001f90| 6f 6e 2c 28 64 69 6c 61 | 74 69 6f 6e 2b 6c 69 7a |on,(dila|tion+liz|
|00001fa0| 61 72 64 29 2c 5b 31 5d | 29 29 3b 0a 66 6f 72 77 |ard),[1]|));.forw|
|00001fb0| 61 72 64 28 5b 30 2e 36 | 5d 29 3b 0a 73 65 74 5f |ard([0.6|]);.set_|
|00001fc0| 63 6f 6c 6f 75 72 28 70 | 75 70 69 6c 5f 63 6f 6c |colour(p|upil_col|
|00001fd0| 6f 75 72 29 3b 0a 6c 61 | 79 28 29 3b 0a 70 6f 70 |our);.la|y();.pop|
|00001fe0| 28 29 3b 0a 7d 0a 66 75 | 6e 63 20 76 6f 69 64 20 |();.}.fu|nc void |
|00001ff0| 74 65 6e 74 61 63 6c 65 | 28 20 6e 75 6d 20 63 6f |tentacle|( num co|
|00002000| 6d 70 6c 65 74 65 6e 65 | 73 73 20 29 20 7b 0a 64 |mpletene|ss ) {.d|
|00002010| 61 74 61 20 6e 75 6d 20 | 6d 61 78 5f 69 6e 69 74 |ata num |max_init|
|00002020| 5f 68 5f 73 63 6c 20 3d | 20 5b 30 2e 34 35 33 37 |_h_scl =| [0.4537|
|00002030| 32 33 5d 3a 5b 30 2e 31 | 5d 3a 5b 31 5d 3b 20 0a |23]:[0.1|]:[1]; .|
|00002040| 64 61 74 61 20 6e 75 6d | 20 76 5f 73 63 61 6c 65 |data num| v_scale|
|00002050| 5f 66 61 63 74 6f 72 20 | 3d 20 5b 30 2e 36 34 35 |_factor |= [0.645|
|00002060| 39 32 34 5d 3a 5b 30 2e | 33 5d 3a 5b 30 2e 38 5d |924]:[0.|3]:[0.8]|
|00002070| 3b 20 0a 64 61 74 61 20 | 6e 75 6d 20 6d 61 78 5f |; .data |num max_|
|00002080| 73 63 6c 5f 63 68 61 6e | 67 65 20 3d 20 5b 30 2e |scl_chan|ge = [0.|
|00002090| 39 39 5d 3b 20 0a 64 61 | 74 61 20 6e 75 6d 20 6d |99]; .da|ta num m|
|000020a0| 69 6e 5f 73 63 6c 20 3d | 20 5b 30 2e 30 31 5d 3b |in_scl =| [0.01];|
|000020b0| 20 0a 64 61 74 61 20 63 | 6f 6c 6f 75 72 20 65 6e | .data c|olour en|
|000020c0| 64 5f 63 6f 6c 6f 75 72 | 20 3d 20 5b 3c 30 2e 33 |d_colour| = [<0.3|
|000020d0| 36 36 36 30 39 2c 30 2e | 38 30 38 36 39 2c 30 2e |66609,0.|80869,0.|
|000020e0| 39 39 39 39 39 2c 30 2e | 39 39 39 39 39 3e 5d 3a |99999,0.|99999>]:|
|000020f0| 5b 3c 30 2c 30 2e 34 2c | 30 2e 39 39 39 39 39 2c |[<0,0.4,|0.99999,|
|00002100| 30 2e 39 39 39 39 39 3e | 5d 3a 5b 3c 30 2e 39 39 |0.99999>|]:[<0.99|
|00002110| 39 39 39 2c 30 2e 39 39 | 39 39 39 2c 30 2e 39 39 |999,0.99|999,0.99|
|00002120| 39 39 39 2c 30 2e 39 39 | 39 39 39 3e 5d 3b 20 0a |999,0.99|999>]; .|
|00002130| 70 75 73 68 28 29 3b 0a | 64 61 74 61 20 6e 75 6d |push();.|data num|
|00002140| 20 69 6e 69 74 5f 73 63 | 6c 20 3d 20 28 28 63 6f | init_sc|l = ((co|
|00002150| 6d 70 6c 65 74 65 6e 65 | 73 73 2a 6d 61 78 5f 69 |mpletene|ss*max_i|
|00002160| 6e 69 74 5f 68 5f 73 63 | 6c 29 2a 68 65 61 64 5f |nit_h_sc|l)*head_|
|00002170| 73 69 7a 65 29 3b 20 0a | 64 61 74 61 20 6e 75 6d |size); .|data num|
|00002180| 20 73 63 6c 5f 63 68 61 | 6e 67 65 3b 20 0a 64 61 | scl_cha|nge; .da|
|00002190| 74 61 20 6e 75 6d 20 66 | 77 64 20 3d 20 5b 30 2e |ta num f|wd = [0.|
|000021a0| 38 5d 3b 20 0a 75 73 63 | 61 6c 65 28 69 6e 69 74 |8]; .usc|ale(init|
|000021b0| 5f 73 63 6c 29 3b 0a 73 | 63 61 6c 65 28 76 33 6d |_scl);.s|cale(v3m|
|000021c0| 61 6b 65 28 5b 31 5d 2c | 5b 31 5d 2c 76 5f 73 63 |ake([1],|[1],v_sc|
|000021d0| 61 6c 65 5f 66 61 63 74 | 6f 72 29 29 3b 0a 73 65 |ale_fact|or));.se|
|000021e0| 74 5f 70 72 69 6d 28 5b | 33 5d 29 3b 0a 69 6e 69 |t_prim([|3]);.ini|
|000021f0| 74 5f 63 73 70 61 63 65 | 28 5b 30 5d 2c 68 65 61 |t_cspace|([0],hea|
|00002200| 64 5f 63 6f 6c 6f 75 72 | 29 3b 0a 65 78 74 65 6e |d_colour|);.exten|
|00002210| 64 5f 63 73 70 61 63 65 | 28 5b 30 5d 2c 5b 31 5d |d_cspace|([0],[1]|
|00002220| 2c 65 6e 64 5f 63 6f 6c | 6f 75 72 29 3b 0a 64 61 |,end_col|our);.da|
|00002230| 74 61 20 6e 75 6d 20 72 | 6f 6c 6c 5f 72 65 70 73 |ta num r|oll_reps|
|00002240| 20 3d 20 5b 31 2e 34 36 | 36 38 32 5d 3a 5b 30 2e | = [1.46|682]:[0.|
|00002250| 35 5d 3a 5b 34 5d 3b 20 | 0a 64 61 74 61 20 6e 75 |5]:[4]; |.data nu|
|00002260| 6d 20 72 6f 6c 6c 5f 6d | 61 78 20 3d 20 5b 30 2e |m roll_m|ax = [0.|
|00002270| 31 30 32 33 33 5d 3a 5b | 2d 30 2e 35 5d 3a 5b 30 |10233]:[|-0.5]:[0|
|00002280| 2e 35 5d 3b 20 0a 64 61 | 74 61 20 6e 75 6d 20 72 |.5]; .da|ta num r|
|00002290| 6f 6c 6c 5f 6f 66 66 73 | 65 74 20 3d 20 5b 30 2e |oll_offs|et = [0.|
|000022a0| 30 34 32 36 31 30 36 5d | 3a 5b 2d 30 2e 35 5d 3a |0426106]|:[-0.5]:|
|000022b0| 5b 30 2e 35 5d 3b 20 0a | 64 61 74 61 20 6e 75 6d |[0.5]; .|data num|
|000022c0| 20 70 69 74 63 68 5f 72 | 65 70 73 20 3d 20 5b 32 | pitch_r|eps = [2|
|000022d0| 2e 34 37 32 30 34 5d 3a | 5b 30 2e 35 5d 3a 5b 34 |.47204]:|[0.5]:[4|
|000022e0| 5d 3b 20 0a 64 61 74 61 | 20 6e 75 6d 20 70 69 74 |]; .data| num pit|
|000022f0| 63 68 5f 6d 61 78 20 3d | 20 5b 30 2e 32 38 38 37 |ch_max =| [0.2887|
|00002300| 39 36 5d 3a 5b 2d 30 2e | 35 5d 3a 5b 30 2e 35 5d |96]:[-0.|5]:[0.5]|
|00002310| 3b 20 0a 64 61 74 61 20 | 6e 75 6d 20 70 69 74 63 |; .data |num pitc|
|00002320| 68 5f 6f 66 66 73 65 74 | 20 3d 20 5b 30 2e 32 30 |h_offset| = [0.20|
|00002330| 37 36 32 5d 3a 5b 2d 30 | 2e 35 5d 3a 5b 30 2e 35 |762]:[-0|.5]:[0.5|
|00002340| 5d 3b 20 0a 64 61 74 61 | 20 6e 75 6d 20 79 61 77 |]; .data| num yaw|
|00002350| 5f 72 65 70 73 20 3d 20 | 5b 32 2e 37 37 38 37 5d |_reps = |[2.7787]|
|00002360| 3a 5b 30 2e 35 5d 3a 5b | 34 5d 3b 20 0a 64 61 74 |:[0.5]:[|4]; .dat|
|00002370| 61 20 6e 75 6d 20 79 61 | 77 5f 6d 61 78 20 3d 20 |a num ya|w_max = |
|00002380| 5b 30 2e 30 33 33 36 30 | 31 33 5d 3a 5b 2d 30 2e |[0.03360|13]:[-0.|
|00002390| 35 5d 3a 5b 30 2e 35 5d | 3b 20 0a 64 61 74 61 20 |5]:[0.5]|; .data |
|000023a0| 6e 75 6d 20 79 61 77 5f | 6f 66 66 73 65 74 20 3d |num yaw_|offset =|
|000023b0| 20 5b 30 2e 31 38 38 38 | 30 35 5d 3a 5b 2d 30 2e | [0.1888|05]:[-0.|
|000023c0| 35 5d 3a 5b 30 2e 35 5d | 3b 20 0a 64 61 74 61 20 |5]:[0.5]|; .data |
|000023d0| 6e 75 6d 20 73 63 6c 20 | 3d 20 69 6e 69 74 5f 73 |num scl |= init_s|
|000023e0| 63 6c 3b 20 0a 64 61 74 | 61 20 6e 75 6d 20 6c 6f |cl; .dat|a num lo|
|000023f0| 63 75 73 3b 20 0a 77 68 | 69 6c 65 28 6d 6f 72 65 |cus; .wh|ile(more|
|00002400| 28 73 63 6c 2c 6d 69 6e | 5f 73 63 6c 29 29 20 7b |(scl,min|_scl)) {|
|00002410| 0a 6c 6f 63 75 73 20 3d | 20 28 5b 31 5d 2d 28 28 |.locus =| ([1]-((|
|00002420| 73 63 6c 2d 6d 69 6e 5f | 73 63 6c 29 2f 28 69 6e |scl-min_|scl)/(in|
|00002430| 69 74 5f 73 63 6c 2d 6d | 69 6e 5f 73 63 6c 29 29 |it_scl-m|in_scl))|
|00002440| 29 3b 0a 73 65 74 5f 63 | 6f 6c 6f 75 72 28 63 73 |);.set_c|olour(cs|
|00002450| 70 61 63 65 28 5b 30 5d | 2c 28 63 6f 6d 70 6c 65 |pace([0]|,(comple|
|00002460| 74 65 6e 65 73 73 2a 6c | 6f 63 75 73 29 29 29 3b |teness*l|ocus)));|
|00002470| 0a 73 63 6c 5f 63 68 61 | 6e 67 65 20 3d 20 28 28 |.scl_cha|nge = ((|
|00002480| 63 6f 73 28 28 28 6c 6f | 63 75 73 2a 5b 33 2e 31 |cos(((lo|cus*[3.1|
|00002490| 34 31 35 39 5d 29 2f 5b | 32 5d 29 29 2a 63 6f 6d |4159])/[|2]))*com|
|000024a0| 70 6c 65 74 65 6e 65 73 | 73 29 2a 6d 61 78 5f 73 |pletenes|s)*max_s|
|000024b0| 63 6c 5f 63 68 61 6e 67 | 65 29 3b 0a 6c 61 79 28 |cl_chang|e);.lay(|
|000024c0| 29 3b 0a 66 6f 72 77 61 | 72 64 28 28 66 77 64 2f |);.forwa|rd((fwd/|
|000024d0| 5b 32 5d 29 29 3b 0a 75 | 73 63 61 6c 65 28 73 63 |[2]));.u|scale(sc|
|000024e0| 6c 5f 63 68 61 6e 67 65 | 29 3b 0a 72 6f 6c 6c 28 |l_change|);.roll(|
|000024f0| 28 73 69 6e 28 28 28 72 | 6f 6c 6c 5f 72 65 70 73 |(sin(((r|oll_reps|
|00002500| 2a 5b 33 2e 31 34 31 35 | 39 5d 29 2a 28 6c 6f 63 |*[3.1415|9])*(loc|
|00002510| 75 73 2b 72 6f 6c 6c 5f | 6f 66 66 73 65 74 29 29 |us+roll_|offset))|
|00002520| 29 2a 72 6f 6c 6c 5f 6d | 61 78 29 29 3b 0a 70 69 |)*roll_m|ax));.pi|
|00002530| 74 63 68 28 28 73 69 6e | 28 28 28 70 69 74 63 68 |tch((sin|(((pitch|
|00002540| 5f 72 65 70 73 2a 5b 33 | 2e 31 34 31 35 39 5d 29 |_reps*[3|.14159])|
|00002550| 2a 28 6c 6f 63 75 73 2b | 70 69 74 63 68 5f 6f 66 |*(locus+|pitch_of|
|00002560| 66 73 65 74 29 29 29 2a | 70 69 74 63 68 5f 6d 61 |fset)))*|pitch_ma|
|00002570| 78 29 29 3b 0a 79 61 77 | 28 28 73 69 6e 28 28 28 |x));.yaw|((sin(((|
|00002580| 79 61 77 5f 72 65 70 73 | 2a 5b 33 2e 31 34 31 35 |yaw_reps|*[3.1415|
|00002590| 39 5d 29 2a 28 6c 6f 63 | 75 73 2b 79 61 77 5f 6f |9])*(loc|us+yaw_o|
|000025a0| 66 66 73 65 74 29 29 29 | 2a 79 61 77 5f 6d 61 78 |ffset)))|*yaw_max|
|000025b0| 29 29 3b 0a 66 6f 72 77 | 61 72 64 28 28 66 77 64 |));.forw|ard((fwd|
|000025c0| 2f 5b 32 5d 29 29 3b 0a | 73 63 6c 20 3d 20 28 73 |/[2]));.|scl = (s|
|000025d0| 63 6c 2a 73 63 6c 5f 63 | 68 61 6e 67 65 29 3b 0a |cl*scl_c|hange);.|
|000025e0| 7d 20 0a 70 6f 70 28 29 | 3b 0a 7d 0a 66 75 6e 63 |} .pop()|;.}.func|
|000025f0| 20 76 6f 69 64 20 72 65 | 63 74 61 6e 67 6c 65 28 | void re|ctangle(|
|00002600| 20 76 65 63 33 20 74 6f | 70 5f 6c 65 66 74 2c 20 | vec3 to|p_left, |
|00002610| 76 65 63 33 20 74 6f 70 | 5f 72 69 67 68 74 2c 20 |vec3 top|_right, |
|00002620| 76 65 63 33 20 62 6f 74 | 74 6f 6d 5f 6c 65 66 74 |vec3 bot|tom_left|
|00002630| 2c 20 76 65 63 33 20 62 | 6f 74 74 6f 6d 5f 72 69 |, vec3 b|ottom_ri|
|00002640| 67 68 74 2c 20 6e 75 6d | 20 74 68 69 63 6b 6e 65 |ght, num| thickne|
|00002650| 73 73 20 29 20 7b 0a 6c | 69 6e 65 28 74 6f 70 5f |ss ) {.l|ine(top_|
|00002660| 6c 65 66 74 2c 74 6f 70 | 5f 72 69 67 68 74 2c 74 |left,top|_right,t|
|00002670| 68 69 63 6b 6e 65 73 73 | 29 3b 0a 6c 69 6e 65 28 |hickness|);.line(|
|00002680| 74 6f 70 5f 6c 65 66 74 | 2c 62 6f 74 74 6f 6d 5f |top_left|,bottom_|
|00002690| 6c 65 66 74 2c 74 68 69 | 63 6b 6e 65 73 73 29 3b |left,thi|ckness);|
|000026a0| 0a 6c 69 6e 65 28 62 6f | 74 74 6f 6d 5f 6c 65 66 |.line(bo|ttom_lef|
|000026b0| 74 2c 62 6f 74 74 6f 6d | 5f 72 69 67 68 74 2c 74 |t,bottom|_right,t|
|000026c0| 68 69 63 6b 6e 65 73 73 | 29 3b 0a 6c 69 6e 65 28 |hickness|);.line(|
|000026d0| 74 6f 70 5f 72 69 67 68 | 74 2c 62 6f 74 74 6f 6d |top_righ|t,bottom|
|000026e0| 5f 72 69 67 68 74 2c 74 | 68 69 63 6b 6e 65 73 73 |_right,t|hickness|
|000026f0| 29 3b 0a 7d 0a 66 75 6e | 63 20 76 6f 69 64 20 6c |);.}.fun|c void l|
|00002700| 69 6e 65 28 20 76 65 63 | 33 20 70 31 2c 20 76 65 |ine( vec|3 p1, ve|
|00002710| 63 33 20 70 32 2c 20 6e | 75 6d 20 74 68 69 63 6b |c3 p2, n|um thick|
|00002720| 6e 65 73 73 20 29 20 7b | 0a 64 61 74 61 20 6e 75 |ness ) {|.data nu|
|00002730| 6d 20 78 5f 64 69 66 66 | 20 3d 20 28 76 33 78 28 |m x_diff| = (v3x(|
|00002740| 70 32 29 2d 76 33 78 28 | 70 31 29 29 3b 20 0a 64 |p2)-v3x(|p1)); .d|
|00002750| 61 74 61 20 6e 75 6d 20 | 79 5f 64 69 66 66 20 3d |ata num |y_diff =|
|00002760| 20 28 76 33 79 28 70 32 | 29 2d 76 33 79 28 70 31 | (v3y(p2|)-v3y(p1|
|00002770| 29 29 3b 20 0a 64 61 74 | 61 20 6e 75 6d 20 7a 5f |)); .dat|a num z_|
|00002780| 64 69 66 66 20 3d 20 28 | 76 33 7a 28 70 32 29 2d |diff = (|v3z(p2)-|
|00002790| 76 33 7a 28 70 31 29 29 | 3b 20 0a 64 61 74 61 20 |v3z(p1))|; .data |
|000027a0| 6e 75 6d 20 6c 69 6e 65 | 5f 6c 65 6e 67 74 68 20 |num line|_length |
|000027b0| 3d 20 28 28 28 28 78 5f | 64 69 66 66 5e 5b 32 5d |= ((((x_|diff^[2]|
|000027c0| 29 2b 28 79 5f 64 69 66 | 66 5e 5b 32 5d 29 29 2b |)+(y_dif|f^[2]))+|
|000027d0| 28 7a 5f 64 69 66 66 5e | 5b 32 5d 29 29 5e 5b 30 |(z_diff^|[2]))^[0|
|000027e0| 2e 35 5d 29 3b 20 0a 64 | 61 74 61 20 6e 75 6d 20 |.5]); .d|ata num |
|000027f0| 79 61 77 31 3b 20 0a 64 | 61 74 61 20 6e 75 6d 20 |yaw1; .d|ata num |
|00002800| 70 69 74 63 68 31 3b 20 | 0a 69 66 28 6d 6f 72 65 |pitch1; |.if(more|
|00002810| 28 7a 5f 64 69 66 66 2c | 5b 30 5d 29 29 20 7b 0a |(z_diff,|[0])) {.|
|00002820| 79 61 77 31 20 3d 20 61 | 74 61 6e 28 28 78 5f 64 |yaw1 = a|tan((x_d|
|00002830| 69 66 66 2f 7a 5f 64 69 | 66 66 29 29 3b 0a 7d 20 |iff/z_di|ff));.} |
|00002840| 65 6c 73 65 20 69 66 28 | 6c 65 73 73 28 7a 5f 64 |else if(|less(z_d|
|00002850| 69 66 66 2c 5b 30 5d 29 | 29 20 7b 0a 79 61 77 31 |iff,[0])|) {.yaw1|
|00002860| 20 3d 20 28 68 61 6c 66 | 5f 63 69 72 63 6c 65 2b | = (half|_circle+|
|00002870| 61 74 61 6e 28 28 78 5f | 64 69 66 66 2f 7a 5f 64 |atan((x_|diff/z_d|
|00002880| 69 66 66 29 29 29 3b 0a | 7d 20 65 6c 73 65 20 7b |iff)));.|} else {|
|00002890| 0a 69 66 28 6d 6f 72 65 | 28 78 5f 64 69 66 66 2c |.if(more|(x_diff,|
|000028a0| 5b 30 5d 29 29 20 7b 0a | 79 61 77 31 20 3d 20 72 |[0])) {.|yaw1 = r|
|000028b0| 69 67 68 74 5f 61 6e 67 | 6c 65 3b 0a 7d 20 65 6c |ight_ang|le;.} el|
|000028c0| 73 65 20 7b 0a 79 61 77 | 31 20 3d 20 2d 72 69 67 |se {.yaw|1 = -rig|
|000028d0| 68 74 5f 61 6e 67 6c 65 | 3b 0a 7d 20 0a 7d 20 0a |ht_angle|;.} .} .|
|000028e0| 64 61 74 61 20 6e 75 6d | 20 64 20 3d 20 28 28 28 |data num| d = (((|
|000028f0| 78 5f 64 69 66 66 5e 5b | 32 5d 29 2b 28 7a 5f 64 |x_diff^[|2])+(z_d|
|00002900| 69 66 66 5e 5b 32 5d 29 | 29 5e 5b 30 2e 35 5d 29 |iff^[2])|)^[0.5])|
|00002910| 3b 20 0a 69 66 28 65 71 | 28 64 2c 5b 30 5d 29 29 |; .if(eq|(d,[0]))|
|00002920| 20 7b 0a 69 66 28 6d 6f | 72 65 28 79 5f 64 69 66 | {.if(mo|re(y_dif|
|00002930| 66 2c 5b 30 5d 29 29 20 | 7b 0a 70 69 74 63 68 31 |f,[0])) |{.pitch1|
|00002940| 20 3d 20 2d 72 69 67 68 | 74 5f 61 6e 67 6c 65 3b | = -righ|t_angle;|
|00002950| 0a 7d 20 65 6c 73 65 20 | 7b 0a 70 69 74 63 68 31 |.} else |{.pitch1|
|00002960| 20 3d 20 72 69 67 68 74 | 5f 61 6e 67 6c 65 3b 0a | = right|_angle;.|
|00002970| 7d 20 0a 7d 20 65 6c 73 | 65 20 7b 0a 70 69 74 63 |} .} els|e {.pitc|
|00002980| 68 31 20 3d 20 2d 61 74 | 61 6e 28 28 79 5f 64 69 |h1 = -at|an((y_di|
|00002990| 66 66 2f 64 29 29 3b 0a | 7d 20 0a 70 75 73 68 28 |ff/d));.|} .push(|
|000029a0| 29 3b 0a 6d 6f 76 65 28 | 70 31 29 3b 0a 79 61 77 |);.move(|p1);.yaw|
|000029b0| 28 79 61 77 31 29 3b 0a | 70 69 74 63 68 28 70 69 |(yaw1);.|pitch(pi|
|000029c0| 74 63 68 31 29 3b 0a 66 | 6f 72 77 61 72 64 28 28 |tch1);.f|orward((|
|000029d0| 6c 69 6e 65 5f 6c 65 6e | 67 74 68 2f 5b 32 5d 29 |line_len|gth/[2])|
|000029e0| 29 3b 0a 73 63 61 6c 65 | 28 76 33 6d 61 6b 65 28 |);.scale|(v3make(|
|000029f0| 74 68 69 63 6b 6e 65 73 | 73 2c 74 68 69 63 6b 6e |thicknes|s,thickn|
|00002a00| 65 73 73 2c 6c 69 6e 65 | 5f 6c 65 6e 67 74 68 29 |ess,line|_length)|
|00002a10| 29 3b 0a 6c 61 79 28 29 | 3b 0a 70 6f 70 28 29 3b |);.lay()|;.pop();|
|00002a20| 0a 7d 0a 7d 20 0a 7d 20 | 69 6e 64 69 20 64 61 6e |.}.} .} |indi dan|
|00002a30| 63 65 72 20 7b 0a 2f 2f | 20 42 61 73 65 49 6e 64 |cer {.//| BaseInd|
|00002a40| 69 20 61 74 74 72 69 62 | 75 74 65 73 0a 2f 2f 20 |i attrib|utes.// |
|00002a50| 44 61 6e 63 65 72 49 6e | 64 69 41 74 74 72 69 62 |DancerIn|diAttrib|
|00002a60| 75 74 65 73 0a 67 65 6e | 6f 6d 65 20 64 61 6e 63 |utes.gen|ome danc|
|00002a70| 65 72 20 7b 0a 2f 2f 20 | 42 61 73 65 47 65 6e 6f |er {.// |BaseGeno|
|00002a80| 6d 65 20 61 74 74 72 69 | 62 75 74 65 73 0a 2f 2f |me attri|butes.//|
|00002a90| 20 44 61 6e 63 65 72 47 | 65 6e 6f 6d 65 20 61 74 | DancerG|enome at|
|00002aa0| 74 72 69 62 75 74 65 73 | 0a 70 72 6f 67 0a 66 75 |tributes|.prog.fu|
|00002ab0| 6e 63 20 76 6f 69 64 20 | 6d 61 69 6e 28 29 3b 0a |nc void |main();.|
|00002ac0| 66 75 6e 63 20 76 6f 69 | 64 20 63 6f 72 61 6c 28 |func voi|d coral(|
|00002ad0| 29 3b 0a 66 75 6e 63 20 | 76 6f 69 64 20 68 61 6c |);.func |void hal|
|00002ae0| 66 28 20 6e 75 6d 20 64 | 69 72 65 63 74 69 6f 6e |f( num d|irection|
|00002af0| 2c 20 6e 75 6d 20 74 75 | 62 65 6e 65 73 73 2c 20 |, num tu|beness, |
|00002b00| 6e 75 6d 20 73 70 68 65 | 72 65 6e 65 73 73 2c 20 |num sphe|reness, |
|00002b10| 6e 75 6d 20 72 61 64 69 | 75 73 2c 20 6e 75 6d 20 |num radi|us, num |
|00002b20| 68 6f 72 69 7a 5f 61 6e | 67 6c 65 5f 69 6e 63 2c |horiz_an|gle_inc,|
|00002b30| 20 6e 75 6d 20 70 72 69 | 6d 5f 73 69 7a 65 20 29 | num pri|m_size )|
|00002b40| 3b 0a 66 75 6e 63 20 76 | 6f 69 64 20 73 65 67 6d |;.func v|oid segm|
|00002b50| 65 6e 74 28 20 6e 75 6d | 20 64 69 72 65 63 74 69 |ent( num| directi|
|00002b60| 6f 6e 2c 20 6e 75 6d 20 | 64 69 73 70 6c 61 63 65 |on, num |displace|
|00002b70| 6d 65 6e 74 2c 20 6e 75 | 6d 20 73 70 69 72 61 6c |ment, nu|m spiral|
|00002b80| 2c 20 6e 75 6d 20 76 65 | 72 74 5f 61 6e 67 6c 65 |, num ve|rt_angle|
|00002b90| 2c 20 6e 75 6d 20 66 77 | 64 2c 20 6e 75 6d 20 6c |, num fw|d, num l|
|00002ba0| 6f 63 75 73 2c 20 6e 75 | 6d 20 70 72 69 6d 5f 73 |ocus, nu|m prim_s|
|00002bb0| 69 7a 65 20 29 3b 0a 66 | 75 6e 63 20 76 6f 69 64 |ize );.f|unc void|
|00002bc0| 20 62 75 69 6c 64 43 53 | 70 61 63 65 41 28 20 69 | buildCS|paceA( i|
|00002bd0| 6e 74 20 69 6e 64 65 78 | 20 29 3b 0a 66 75 6e 63 |nt index| );.func|
|00002be0| 20 76 6f 69 64 20 6d 6f | 6e 73 74 65 72 28 29 3b | void mo|nster();|
|00002bf0| 0a 66 75 6e 63 20 76 6f | 69 64 20 68 65 61 64 28 |.func vo|id head(|
|00002c00| 29 3b 0a 66 75 6e 63 20 | 76 6f 69 64 20 65 79 65 |);.func |void eye|
|00002c10| 73 28 29 3b 0a 66 75 6e | 63 20 76 6f 69 64 20 74 |s();.fun|c void t|
|00002c20| 65 6e 74 61 63 6c 65 73 | 28 29 3b 0a 66 75 6e 63 |entacles|();.func|
|00002c30| 20 76 6f 69 64 20 65 79 | 65 28 20 6e 75 6d 20 73 | void ey|e( num s|
|00002c40| 69 7a 65 20 29 3b 0a 66 | 75 6e 63 20 76 6f 69 64 |ize );.f|unc void|
|00002c50| 20 74 65 6e 74 61 63 6c | 65 28 20 6e 75 6d 20 63 | tentacl|e( num c|
|00002c60| 6f 6d 70 6c 65 74 65 6e | 65 73 73 20 29 3b 0a 66 |ompleten|ess );.f|
|00002c70| 75 6e 63 20 76 6f 69 64 | 20 72 65 63 74 61 6e 67 |unc void| rectang|
|00002c80| 6c 65 28 20 76 65 63 33 | 20 74 6f 70 5f 6c 65 66 |le( vec3| top_lef|
|00002c90| 74 2c 20 76 65 63 33 20 | 74 6f 70 5f 72 69 67 68 |t, vec3 |top_righ|
|00002ca0| 74 2c 20 76 65 63 33 20 | 62 6f 74 74 6f 6d 5f 6c |t, vec3 |bottom_l|
|00002cb0| 65 66 74 2c 20 76 65 63 | 33 20 62 6f 74 74 6f 6d |eft, vec|3 bottom|
|00002cc0| 5f 72 69 67 68 74 2c 20 | 6e 75 6d 20 74 68 69 63 |_right, |num thic|
|00002cd0| 6b 6e 65 73 73 20 29 3b | 0a 66 75 6e 63 20 76 6f |kness );|.func vo|
|00002ce0| 69 64 20 6c 69 6e 65 28 | 20 76 65 63 33 20 70 31 |id line(| vec3 p1|
|00002cf0| 2c 20 76 65 63 33 20 70 | 32 2c 20 6e 75 6d 20 74 |, vec3 p|2, num t|
|00002d00| 68 69 63 6b 6e 65 73 73 | 20 29 3b 0a 64 61 74 61 |hickness| );.data|
|00002d10| 20 6e 75 6d 20 66 75 6c | 6c 5f 63 69 72 63 6c 65 | num ful|l_circle|
|00002d20| 20 3d 20 28 5b 32 5d 2a | 5b 33 2e 31 34 31 35 39 | = ([2]*|[3.14159|
|00002d30| 5d 29 3b 20 0a 64 61 74 | 61 20 6e 75 6d 20 68 61 |]); .dat|a num ha|
|00002d40| 6c 66 5f 63 69 72 63 6c | 65 20 3d 20 5b 33 2e 31 |lf_circl|e = [3.1|
|00002d50| 34 31 35 39 5d 3b 20 0a | 64 61 74 61 20 6e 75 6d |4159]; .|data num|
|00002d60| 20 72 69 67 68 74 5f 61 | 6e 67 6c 65 20 3d 20 28 | right_a|ngle = (|
|00002d70| 5b 33 2e 31 34 31 35 39 | 5d 2f 5b 32 5d 29 3b 20 |[3.14159|]/[2]); |
|00002d80| 0a 64 61 74 61 20 6e 75 | 6d 20 66 6f 72 74 79 5f |.data nu|m forty_|
|00002d90| 66 69 76 65 5f 64 65 67 | 73 20 3d 20 28 5b 33 2e |five_deg|s = ([3.|
|00002da0| 31 34 31 35 39 5d 2f 5b | 34 5d 29 3b 20 0a 64 61 |14159]/[|4]); .da|
|00002db0| 74 61 20 6e 75 6d 20 68 | 65 61 64 5f 73 69 7a 65 |ta num h|ead_size|
|00002dc0| 20 3d 20 5b 37 2e 35 35 | 31 38 5d 3a 5b 32 5d 3a | = [7.55|18]:[2]:|
|00002dd0| 5b 38 5d 3b 20 0a 64 61 | 74 61 20 63 6f 6c 6f 75 |[8]; .da|ta colou|
|00002de0| 72 20 68 65 61 64 5f 63 | 6f 6c 6f 75 72 20 3d 20 |r head_c|olour = |
|00002df0| 5b 3c 30 2e 36 38 36 38 | 38 39 2c 31 2c 30 2e 32 |[<0.6868|89,1,0.2|
|00002e00| 33 33 39 33 34 2c 30 2e | 34 30 39 35 37 32 3e 5d |33934,0.|409572>]|
|00002e10| 3a 5b 3c 30 2c 31 2c 30 | 2e 32 2c 30 2e 32 3e 5d |:[<0,1,0|.2,0.2>]|
|00002e20| 3a 5b 3c 30 2e 37 2c 31 | 2c 30 2e 36 2c 30 2e 36 |:[<0.7,1|,0.6,0.6|
|00002e30| 3e 5d 3b 20 0a 64 61 74 | 61 20 6e 75 6d 20 65 78 |>]; .dat|a num ex|
|00002e40| 70 61 6e 64 65 64 20 3d | 20 5b 30 2e 38 38 34 36 |panded =| [0.8846|
|00002e50| 32 5d 3a 5b 30 2e 36 5d | 3a 5b 32 5d 3b 20 0a 64 |2]:[0.6]|:[2]; .d|
|00002e60| 61 74 61 20 6e 75 6d 20 | 74 75 62 65 6e 65 73 73 |ata num |tubeness|
|00002e70| 5f 75 70 20 3d 20 5b 30 | 2e 31 38 31 38 38 33 5d |_up = [0|.181883]|
|00002e80| 3a 5b 30 5d 3a 5b 35 5d | 3b 20 0a 64 61 74 61 20 |:[0]:[5]|; .data |
|00002e90| 6e 75 6d 20 74 75 62 65 | 6e 65 73 73 5f 64 6f 77 |num tube|ness_dow|
|00002ea0| 6e 20 3d 20 5b 30 2e 30 | 35 31 34 36 35 33 5d 3a |n = [0.0|514653]:|
|00002eb0| 5b 30 5d 3a 5b 35 5d 3b | 20 0a 64 61 74 61 20 6e |[0]:[5];| .data n|
|00002ec0| 75 6d 20 73 70 68 65 72 | 65 6e 65 73 73 5f 75 70 |um spher|eness_up|
|00002ed0| 3b 20 0a 64 61 74 61 20 | 6e 75 6d 20 73 70 68 65 |; .data |num sphe|
|00002ee0| 72 65 6e 65 73 73 5f 64 | 6f 77 6e 3b 20 0a 64 61 |reness_d|own; .da|
|00002ef0| 74 61 20 6e 75 6d 20 73 | 70 69 72 61 6c 5f 66 61 |ta num s|piral_fa|
|00002f00| 63 74 6f 72 20 3d 20 5b | 30 2e 36 31 36 35 32 37 |ctor = [|0.616527|
|00002f10| 5d 3a 5b 2d 31 5d 3a 5b | 31 5d 3b 20 0a 66 75 6e |]:[-1]:[|1]; .fun|
|00002f20| 63 20 76 6f 69 64 20 6d | 61 69 6e 28 29 20 7b 0a |c void m|ain() {.|
|00002f30| 73 65 74 5f 73 68 61 72 | 70 28 5b 31 30 30 5d 29 |set_shar|p([100])|
|00002f40| 3b 0a 73 65 74 5f 73 68 | 69 6e 65 28 5b 33 5d 29 |;.set_sh|ine([3])|
|00002f50| 3b 0a 70 69 74 63 68 28 | 28 5b 33 2e 31 34 31 35 |;.pitch(|([3.1415|
|00002f60| 39 5d 2f 5b 32 5d 29 29 | 3b 0a 63 6f 72 61 6c 28 |9]/[2]))|;.coral(|
|00002f70| 29 3b 0a 6d 6f 6e 73 74 | 65 72 28 29 3b 0a 7d 0a |);.monst|er();.}.|
|00002f80| 66 75 6e 63 20 76 6f 69 | 64 20 63 6f 72 61 6c 28 |func voi|d coral(|
|00002f90| 29 20 7b 0a 70 75 73 68 | 28 29 3b 0a 75 73 63 61 |) {.push|();.usca|
|00002fa0| 6c 65 28 5b 30 2e 33 5d | 29 3b 0a 64 61 74 61 20 |le([0.3]|);.data |
|00002fb0| 69 6e 74 20 68 6f 72 69 | 7a 5f 72 65 70 73 20 3d |int hori|z_reps =|
|00002fc0| 20 5b 38 5d 3b 20 0a 64 | 61 74 61 20 6e 75 6d 20 | [8]; .d|ata num |
|00002fd0| 72 61 64 69 75 73 20 3d | 20 5b 31 30 5d 3b 20 0a |radius =| [10]; .|
|00002fe0| 64 61 74 61 20 6e 75 6d | 20 68 6f 72 69 7a 5f 61 |data num| horiz_a|
|00002ff0| 6e 67 6c 65 5f 69 6e 63 | 20 3d 20 28 66 75 6c 6c |ngle_inc| = (full|
|00003000| 5f 63 69 72 63 6c 65 2f | 69 74 6f 6e 28 68 6f 72 |_circle/|iton(hor|
|00003010| 69 7a 5f 72 65 70 73 29 | 29 3b 20 0a 64 61 74 61 |iz_reps)|); .data|
|00003020| 20 6e 75 6d 20 70 72 69 | 6d 5f 73 69 7a 65 3b 20 | num pri|m_size; |
|00003030| 0a 73 70 68 65 72 65 6e | 65 73 73 5f 75 70 20 3d |.spheren|ess_up =|
|00003040| 20 28 5b 31 5d 2d 74 75 | 62 65 6e 65 73 73 5f 75 | ([1]-tu|beness_u|
|00003050| 70 29 3b 0a 73 70 68 65 | 72 65 6e 65 73 73 5f 64 |p);.sphe|reness_d|
|00003060| 6f 77 6e 20 3d 20 28 5b | 31 5d 2d 74 75 62 65 6e |own = ([|1]-tuben|
|00003070| 65 73 73 5f 64 6f 77 6e | 29 3b 0a 62 75 69 6c 64 |ess_down|);.build|
|00003080| 43 53 70 61 63 65 41 28 | 5b 30 5d 29 3b 0a 73 65 |CSpaceA(|[0]);.se|
|00003090| 74 5f 73 68 69 6e 65 28 | 5b 33 5d 29 3b 0a 73 65 |t_shine(|[3]);.se|
|000030a0| 74 5f 73 68 61 72 70 28 | 5b 31 30 30 5d 29 3b 0a |t_sharp(|[100]);.|
|000030b0| 73 65 74 5f 70 72 69 6d | 28 5b 34 5d 29 3b 0a 73 |set_prim|([4]);.s|
|000030c0| 65 74 5f 74 65 78 74 75 | 72 65 28 5b 32 5d 29 3b |et_textu|re([2]);|
|000030d0| 0a 66 6f 72 28 20 6e 75 | 6d 20 68 6f 72 69 7a 5f |.for( nu|m horiz_|
|000030e0| 61 6e 67 6c 65 20 3d 20 | 5b 30 5d 3b 20 6c 65 73 |angle = |[0]; les|
|000030f0| 73 28 68 6f 72 69 7a 5f | 61 6e 67 6c 65 2c 66 75 |s(horiz_|angle,fu|
|00003100| 6c 6c 5f 63 69 72 63 6c | 65 29 3b 20 28 68 6f 72 |ll_circl|e); (hor|
|00003110| 69 7a 5f 61 6e 67 6c 65 | 2b 68 6f 72 69 7a 5f 61 |iz_angle|+horiz_a|
|00003120| 6e 67 6c 65 5f 69 6e 63 | 29 20 29 20 7b 0a 70 75 |ngle_inc|) ) {.pu|
|00003130| 73 68 28 29 3b 0a 79 61 | 77 28 68 6f 72 69 7a 5f |sh();.ya|w(horiz_|
|00003140| 61 6e 67 6c 65 29 3b 0a | 70 72 69 6d 5f 73 69 7a |angle);.|prim_siz|
|00003150| 65 20 3d 20 28 28 5b 32 | 5d 2a 72 61 64 69 75 73 |e = (([2|]*radius|
|00003160| 29 2a 73 69 6e 28 28 68 | 6f 72 69 7a 5f 61 6e 67 |)*sin((h|oriz_ang|
|00003170| 6c 65 5f 69 6e 63 2f 5b | 32 5d 29 29 29 3b 0a 73 |le_inc/[|2])));.s|
|00003180| 65 67 6d 65 6e 74 28 5b | 31 5d 2c 5b 30 5d 2c 5b |egment([|1],[0],[|
|00003190| 30 5d 2c 5b 30 5d 2c 72 | 61 64 69 75 73 2c 5b 30 |0],[0],r|adius,[0|
|000031a0| 5d 2c 70 72 69 6d 5f 73 | 69 7a 65 29 3b 0a 68 61 |],prim_s|ize);.ha|
|000031b0| 6c 66 28 5b 31 5d 2c 74 | 75 62 65 6e 65 73 73 5f |lf([1],t|ubeness_|
|000031c0| 75 70 2c 73 70 68 65 72 | 65 6e 65 73 73 5f 75 70 |up,spher|eness_up|
|000031d0| 2c 72 61 64 69 75 73 2c | 68 6f 72 69 7a 5f 61 6e |,radius,|horiz_an|
|000031e0| 67 6c 65 5f 69 6e 63 2c | 70 72 69 6d 5f 73 69 7a |gle_inc,|prim_siz|
|000031f0| 65 29 3b 0a 68 61 6c 66 | 28 2d 5b 31 5d 2c 74 75 |e);.half|(-[1],tu|
|00003200| 62 65 6e 65 73 73 5f 64 | 6f 77 6e 2c 73 70 68 65 |beness_d|own,sphe|
|00003210| 72 65 6e 65 73 73 5f 64 | 6f 77 6e 2c 72 61 64 69 |reness_d|own,radi|
|00003220| 75 73 2c 68 6f 72 69 7a | 5f 61 6e 67 6c 65 5f 69 |us,horiz|_angle_i|
|00003230| 6e 63 2c 70 72 69 6d 5f | 73 69 7a 65 29 3b 0a 70 |nc,prim_|size);.p|
|00003240| 6f 70 28 29 3b 0a 7d 20 | 0a 70 6f 70 28 29 3b 0a |op();.} |.pop();.|
|00003250| 7d 0a 66 75 6e 63 20 76 | 6f 69 64 20 68 61 6c 66 |}.func v|oid half|
|00003260| 28 20 6e 75 6d 20 64 69 | 72 65 63 74 69 6f 6e 2c |( num di|rection,|
|00003270| 20 6e 75 6d 20 74 75 62 | 65 6e 65 73 73 2c 20 6e | num tub|eness, n|
|00003280| 75 6d 20 73 70 68 65 72 | 65 6e 65 73 73 2c 20 6e |um spher|eness, n|
|00003290| 75 6d 20 72 61 64 69 75 | 73 2c 20 6e 75 6d 20 68 |um radiu|s, num h|
|000032a0| 6f 72 69 7a 5f 61 6e 67 | 6c 65 5f 69 6e 63 2c 20 |oriz_ang|le_inc, |
|000032b0| 6e 75 6d 20 70 72 69 6d | 5f 73 69 7a 65 20 29 20 |num prim|_size ) |
|000032c0| 7b 0a 64 61 74 61 20 6e | 75 6d 20 73 70 69 72 61 |{.data n|um spira|
|000032d0| 6c 20 3d 20 5b 30 5d 3b | 20 0a 64 61 74 61 20 6e |l = [0];| .data n|
|000032e0| 75 6d 20 6c 6f 63 75 73 | 3b 20 0a 64 61 74 61 20 |um locus|; .data |
|000032f0| 6e 75 6d 20 64 69 73 70 | 6c 61 63 65 6d 65 6e 74 |num disp|lacement|
|00003300| 20 3d 20 5b 30 5d 3b 20 | 0a 64 61 74 61 20 6e 75 | = [0]; |.data nu|
|00003310| 6d 20 64 69 73 70 6c 61 | 63 65 6d 65 6e 74 5f 69 |m displa|cement_i|
|00003320| 6e 63 3b 20 0a 64 61 74 | 61 20 6e 75 6d 20 66 77 |nc; .dat|a num fw|
|00003330| 64 20 3d 20 72 61 64 69 | 75 73 3b 20 0a 64 61 74 |d = radi|us; .dat|
|00003340| 61 20 6e 75 6d 20 76 65 | 72 74 5f 61 6e 67 6c 65 |a num ve|rt_angle|
|00003350| 3b 20 0a 64 61 74 61 20 | 69 6e 74 20 73 65 67 73 |; .data |int segs|
|00003360| 20 3d 20 5b 37 5d 3b 20 | 0a 66 6f 72 28 20 69 6e | = [7]; |.for( in|
|00003370| 74 20 69 20 3d 20 5b 30 | 5d 3b 20 69 6c 65 73 73 |t i = [0|]; iless|
|00003380| 28 69 2c 73 65 67 73 29 | 3b 20 28 69 2b 5b 31 5d |(i,segs)|; (i+[1]|
|00003390| 29 20 29 20 7b 0a 73 70 | 69 72 61 6c 20 3d 20 28 |) ) {.sp|iral = (|
|000033a0| 73 70 69 72 61 6c 2b 28 | 73 70 69 72 61 6c 5f 66 |spiral+(|spiral_f|
|000033b0| 61 63 74 6f 72 2a 68 6f | 72 69 7a 5f 61 6e 67 6c |actor*ho|riz_angl|
|000033c0| 65 5f 69 6e 63 29 29 3b | 0a 64 69 73 70 6c 61 63 |e_inc));|.displac|
|000033d0| 65 6d 65 6e 74 5f 69 6e | 63 20 3d 20 28 28 70 72 |ement_in|c = ((pr|
|000033e0| 69 6d 5f 73 69 7a 65 2f | 5b 32 5d 29 2a 74 75 62 |im_size/|[2])*tub|
|000033f0| 65 6e 65 73 73 29 3b 0a | 64 69 73 70 6c 61 63 65 |eness);.|displace|
|00003400| 6d 65 6e 74 20 3d 20 28 | 64 69 73 70 6c 61 63 65 |ment = (|displace|
|00003410| 6d 65 6e 74 2b 64 69 73 | 70 6c 61 63 65 6d 65 6e |ment+dis|placemen|
|00003420| 74 5f 69 6e 63 29 3b 0a | 66 77 64 20 3d 20 28 66 |t_inc);.|fwd = (f|
|00003430| 77 64 2d 28 64 69 73 70 | 6c 61 63 65 6d 65 6e 74 |wd-(disp|lacement|
|00003440| 5f 69 6e 63 2a 73 69 6e | 28 76 65 72 74 5f 61 6e |_inc*sin|(vert_an|
|00003450| 67 6c 65 29 29 29 3b 0a | 76 65 72 74 5f 61 6e 67 |gle)));.|vert_ang|
|00003460| 6c 65 20 3d 20 28 76 65 | 72 74 5f 61 6e 67 6c 65 |le = (ve|rt_angle|
|00003470| 2b 28 28 5b 32 5d 2a 61 | 73 69 6e 28 28 70 72 69 |+(([2]*a|sin((pri|
|00003480| 6d 5f 73 69 7a 65 2f 28 | 5b 34 5d 2a 66 77 64 29 |m_size/(|[4]*fwd)|
|00003490| 29 29 29 2a 73 70 68 65 | 72 65 6e 65 73 73 29 29 |)))*sphe|reness))|
|000034a0| 3b 0a 70 72 69 6d 5f 73 | 69 7a 65 20 3d 20 28 28 |;.prim_s|ize = ((|
|000034b0| 28 63 6f 73 28 76 65 72 | 74 5f 61 6e 67 6c 65 29 |(cos(ver|t_angle)|
|000034c0| 2a 5b 32 5d 29 2a 66 77 | 64 29 2a 73 69 6e 28 28 |*[2])*fw|d)*sin((|
|000034d0| 68 6f 72 69 7a 5f 61 6e | 67 6c 65 5f 69 6e 63 2f |horiz_an|gle_inc/|
|000034e0| 5b 32 5d 29 29 29 3b 0a | 6c 6f 63 75 73 20 3d 20 |[2])));.|locus = |
|000034f0| 28 5b 30 2e 35 5d 2a 28 | 69 74 6f 6e 28 69 29 2f |([0.5]*(|iton(i)/|
|00003500| 69 74 6f 6e 28 73 65 67 | 73 29 29 29 3b 0a 73 65 |iton(seg|s)));.se|
|00003510| 67 6d 65 6e 74 28 64 69 | 72 65 63 74 69 6f 6e 2c |gment(di|rection,|
|00003520| 64 69 73 70 6c 61 63 65 | 6d 65 6e 74 2c 73 70 69 |displace|ment,spi|
|00003530| 72 61 6c 2c 76 65 72 74 | 5f 61 6e 67 6c 65 2c 66 |ral,vert|_angle,f|
|00003540| 77 64 2c 6c 6f 63 75 73 | 2c 70 72 69 6d 5f 73 69 |wd,locus|,prim_si|
|00003550| 7a 65 29 3b 0a 7d 20 0a | 7d 0a 66 75 6e 63 20 76 |ze);.} .|}.func v|
|00003560| 6f 69 64 20 73 65 67 6d | 65 6e 74 28 20 6e 75 6d |oid segm|ent( num|
|00003570| 20 64 69 72 65 63 74 69 | 6f 6e 2c 20 6e 75 6d 20 | directi|on, num |
|00003580| 64 69 73 70 6c 61 63 65 | 6d 65 6e 74 2c 20 6e 75 |displace|ment, nu|
|00003590| 6d 20 73 70 69 72 61 6c | 2c 20 6e 75 6d 20 76 65 |m spiral|, num ve|
|000035a0| 72 74 5f 61 6e 67 6c 65 | 2c 20 6e 75 6d 20 66 77 |rt_angle|, num fw|
|000035b0| 64 2c 20 6e 75 6d 20 6c | 6f 63 75 73 2c 20 6e 75 |d, num l|ocus, nu|
|000035c0| 6d 20 70 72 69 6d 5f 73 | 69 7a 65 20 29 20 7b 0a |m prim_s|ize ) {.|
|000035d0| 70 75 73 68 28 29 3b 0a | 6d 6f 76 65 28 76 33 6d |push();.|move(v3m|
|000035e0| 61 6b 65 28 5b 30 5d 2c | 28 2d 64 69 72 65 63 74 |ake([0],|(-direct|
|000035f0| 69 6f 6e 2a 64 69 73 70 | 6c 61 63 65 6d 65 6e 74 |ion*disp|lacement|
|00003600| 29 2c 5b 30 5d 29 29 3b | 0a 79 61 77 28 28 64 69 |),[0]));|.yaw((di|
|00003610| 72 65 63 74 69 6f 6e 2a | 73 70 69 72 61 6c 29 29 |rection*|spiral))|
|00003620| 3b 0a 70 69 74 63 68 28 | 28 64 69 72 65 63 74 69 |;.pitch(|(directi|
|00003630| 6f 6e 2a 76 65 72 74 5f | 61 6e 67 6c 65 29 29 3b |on*vert_|angle));|
|00003640| 0a 66 6f 72 77 61 72 64 | 28 28 66 77 64 2a 65 78 |.forward|((fwd*ex|
|00003650| 70 61 6e 64 65 64 29 29 | 3b 0a 72 6f 6c 6c 28 2d |panded))|;.roll(-|
|00003660| 72 69 67 68 74 5f 61 6e | 67 6c 65 29 3b 0a 73 65 |right_an|gle);.se|
|00003670| 74 5f 63 6f 6c 6f 75 72 | 28 63 73 70 61 63 65 28 |t_colour|(cspace(|
|00003680| 5b 30 5d 2c 28 5b 30 2e | 35 5d 2b 28 6c 6f 63 75 |[0],([0.|5]+(locu|
|00003690| 73 2a 64 69 72 65 63 74 | 69 6f 6e 29 29 29 29 3b |s*direct|ion))));|
|000036a0| 0a 73 63 61 6c 65 28 76 | 33 6d 61 6b 65 28 70 72 |.scale(v|3make(pr|
|000036b0| 69 6d 5f 73 69 7a 65 2c | 70 72 69 6d 5f 73 69 7a |im_size,|prim_siz|
|000036c0| 65 2c 5b 35 5d 29 29 3b | 0a 6c 61 79 28 29 3b 0a |e,[5]));|.lay();.|
|000036d0| 70 6f 70 28 29 3b 0a 7d | 0a 66 75 6e 63 20 76 6f |pop();.}|.func vo|
|000036e0| 69 64 20 62 75 69 6c 64 | 43 53 70 61 63 65 41 28 |id build|CSpaceA(|
|000036f0| 20 69 6e 74 20 69 6e 64 | 65 78 20 29 20 7b 0a 64 | int ind|ex ) {.d|
|00003700| 61 74 61 20 63 6f 6c 6f | 75 72 20 63 30 20 3d 20 |ata colo|ur c0 = |
|00003710| 5b 3c 30 2e 36 30 35 35 | 30 34 2c 30 2e 39 38 36 |[<0.6055|04,0.986|
|00003720| 35 35 32 2c 30 2e 39 39 | 39 39 39 2c 30 2e 39 39 |552,0.99|999,0.99|
|00003730| 39 39 39 3e 5d 3a 5b 3c | 30 2c 30 2e 34 2c 30 2e |999>]:[<|0,0.4,0.|
|00003740| 39 39 39 39 39 2c 30 2e | 39 39 39 39 39 3e 5d 3a |99999,0.|99999>]:|
|00003750| 5b 3c 30 2e 39 39 39 39 | 39 2c 30 2e 39 39 39 39 |[<0.9999|9,0.9999|
|00003760| 39 2c 30 2e 39 39 39 39 | 39 2c 30 2e 39 39 39 39 |9,0.9999|9,0.9999|
|00003770| 39 3e 5d 3b 20 0a 64 61 | 74 61 20 63 6f 6c 6f 75 |9>]; .da|ta colou|
|00003780| 72 20 63 31 20 3d 20 5b | 3c 30 2e 38 30 36 31 32 |r c1 = [|<0.80612|
|00003790| 39 2c 30 2e 38 37 31 34 | 31 37 2c 30 2e 39 39 39 |9,0.8714|17,0.999|
|000037a0| 39 39 2c 30 2e 39 39 39 | 39 39 3e 5d 3a 5b 3c 30 |99,0.999|99>]:[<0|
|000037b0| 2c 30 2e 34 2c 30 2e 39 | 39 39 39 39 2c 30 2e 39 |,0.4,0.9|9999,0.9|
|000037c0| 39 39 39 39 3e 5d 3a 5b | 3c 30 2e 39 39 39 39 39 |9999>]:[|<0.99999|
|000037d0| 2c 30 2e 39 39 39 39 39 | 2c 30 2e 39 39 39 39 39 |,0.99999|,0.99999|
|000037e0| 2c 30 2e 39 39 39 39 39 | 3e 5d 3b 20 0a 64 61 74 |,0.99999|>]; .dat|
|000037f0| 61 20 63 6f 6c 6f 75 72 | 20 63 32 20 3d 20 5b 3c |a colour| c2 = [<|
|00003800| 30 2e 34 38 36 39 37 39 | 2c 30 2e 35 31 30 36 35 |0.486979|,0.51065|
|00003810| 32 2c 30 2e 39 39 39 39 | 39 2c 30 2e 39 39 39 39 |2,0.9999|9,0.9999|
|00003820| 39 3e 5d 3a 5b 3c 30 2c | 30 2e 34 2c 30 2e 39 39 |9>]:[<0,|0.4,0.99|
|00003830| 39 39 39 2c 30 2e 39 39 | 39 39 39 3e 5d 3a 5b 3c |999,0.99|999>]:[<|
|00003840| 30 2e 39 39 39 39 39 2c | 30 2e 39 39 39 39 39 2c |0.99999,|0.99999,|
|00003850| 30 2e 39 39 39 39 39 2c | 30 2e 39 39 39 39 39 3e |0.99999,|0.99999>|
|00003860| 5d 3b 20 0a 64 61 74 61 | 20 63 6f 6c 6f 75 72 20 |]; .data| colour |
|00003870| 63 33 20 3d 20 5b 3c 30 | 2e 33 30 35 37 38 38 2c |c3 = [<0|.305788,|
|00003880| 30 2e 35 31 36 30 31 36 | 2c 30 2e 39 39 39 39 39 |0.516016|,0.99999|
|00003890| 2c 30 2e 39 39 39 39 39 | 3e 5d 3a 5b 3c 30 2c 30 |,0.99999|>]:[<0,0|
|000038a0| 2e 34 2c 30 2e 39 39 39 | 39 39 2c 30 2e 39 39 39 |.4,0.999|99,0.999|
|000038b0| 39 39 3e 5d 3a 5b 3c 30 | 2e 39 39 39 39 39 2c 30 |99>]:[<0|.99999,0|
|000038c0| 2e 39 39 39 39 39 2c 30 | 2e 39 39 39 39 39 2c 30 |.99999,0|.99999,0|
|000038d0| 2e 39 39 39 39 39 3e 5d | 3b 20 0a 64 61 74 61 20 |.99999>]|; .data |
|000038e0| 6e 75 6d 20 64 65 6c 74 | 61 31 20 3d 20 5b 30 2e |num delt|a1 = [0.|
|000038f0| 33 35 36 37 31 38 5d 3a | 5b 30 2e 32 35 5d 3a 5b |356718]:|[0.25]:[|
|00003900| 31 5d 3b 20 0a 64 61 74 | 61 20 6e 75 6d 20 64 65 |1]; .dat|a num de|
|00003910| 6c 74 61 32 20 3d 20 5b | 30 2e 38 36 35 36 32 36 |lta2 = [|0.865626|
|00003920| 5d 3a 5b 30 2e 32 35 5d | 3a 5b 31 5d 3b 20 0a 64 |]:[0.25]|:[1]; .d|
|00003930| 61 74 61 20 6e 75 6d 20 | 64 65 6c 74 61 33 20 3d |ata num |delta3 =|
|00003940| 20 5b 30 2e 33 33 39 38 | 37 37 5d 3a 5b 30 2e 32 | [0.3398|77]:[0.2|
|00003950| 35 5d 3a 5b 31 5d 3b 20 | 0a 69 6e 69 74 5f 63 73 |5]:[1]; |.init_cs|
|00003960| 70 61 63 65 28 69 6e 64 | 65 78 2c 63 30 29 3b 0a |pace(ind|ex,c0);.|
|00003970| 65 78 74 65 6e 64 5f 63 | 73 70 61 63 65 28 69 6e |extend_c|space(in|
|00003980| 64 65 78 2c 64 65 6c 74 | 61 31 2c 63 31 29 3b 0a |dex,delt|a1,c1);.|
|00003990| 65 78 74 65 6e 64 5f 63 | 73 70 61 63 65 28 69 6e |extend_c|space(in|
|000039a0| 64 65 78 2c 64 65 6c 74 | 61 32 2c 63 32 29 3b 0a |dex,delt|a2,c2);.|
|000039b0| 65 78 74 65 6e 64 5f 63 | 73 70 61 63 65 28 69 6e |extend_c|space(in|
|000039c0| 64 65 78 2c 64 65 6c 74 | 61 33 2c 63 33 29 3b 0a |dex,delt|a3,c3);.|
|000039d0| 7d 0a 66 75 6e 63 20 76 | 6f 69 64 20 6d 6f 6e 73 |}.func v|oid mons|
|000039e0| 74 65 72 28 29 20 7b 0a | 70 75 73 68 28 29 3b 0a |ter() {.|push();.|
|000039f0| 64 61 74 61 20 6e 75 6d | 20 6d 6f 6e 73 74 65 72 |data num| monster|
|00003a00| 5f 73 63 6c 20 3d 20 5b | 30 2e 33 36 37 33 33 5d |_scl = [|0.36733]|
|00003a10| 3a 5b 30 2e 31 5d 3a 5b | 32 5d 3b 20 0a 64 61 74 |:[0.1]:[|2]; .dat|
|00003a20| 61 20 76 65 63 33 20 6f | 66 66 5f 63 65 6e 74 65 |a vec3 o|ff_cente|
|00003a30| 72 20 3d 20 5b 3c 30 2c | 33 2e 36 36 35 35 2c 30 |r = [<0,|3.6655,0|
|00003a40| 3e 5d 3a 5b 3c 30 2c 2d | 35 2c 30 3e 5d 3a 5b 3c |>]:[<0,-|5,0>]:[<|
|00003a50| 30 2c 35 2c 30 3e 5d 3b | 20 0a 64 61 74 61 20 6e |0,5,0>];| .data n|
|00003a60| 75 6d 20 6d 6f 6e 73 74 | 65 72 5f 72 6f 6c 6c 20 |um monst|er_roll |
|00003a70| 3d 20 5b 2d 30 2e 32 38 | 38 37 38 39 5d 3a 5b 2d |= [-0.28|8789]:[-|
|00003a80| 33 5d 3a 5b 33 5d 3b 20 | 0a 64 61 74 61 20 6e 75 |3]:[3]; |.data nu|
|00003a90| 6d 20 6d 6f 6e 73 74 65 | 72 5f 79 61 77 20 3d 20 |m monste|r_yaw = |
|00003aa0| 5b 2d 31 2e 33 39 32 37 | 34 5d 3a 5b 2d 33 5d 3a |[-1.3927|4]:[-3]:|
|00003ab0| 5b 33 5d 3b 20 0a 64 61 | 74 61 20 6e 75 6d 20 6d |[3]; .da|ta num m|
|00003ac0| 6f 6e 73 74 65 72 5f 70 | 69 74 63 68 20 3d 20 5b |onster_p|itch = [|
|00003ad0| 2d 30 2e 39 31 36 33 31 | 32 5d 3a 5b 2d 33 5d 3a |-0.91631|2]:[-3]:|
|00003ae0| 5b 33 5d 3b 20 0a 75 73 | 63 61 6c 65 28 6d 6f 6e |[3]; .us|cale(mon|
|00003af0| 73 74 65 72 5f 73 63 6c | 29 3b 0a 6d 6f 76 65 28 |ster_scl|);.move(|
|00003b00| 6f 66 66 5f 63 65 6e 74 | 65 72 29 3b 0a 72 6f 6c |off_cent|er);.rol|
|00003b10| 6c 28 6d 6f 6e 73 74 65 | 72 5f 72 6f 6c 6c 29 3b |l(monste|r_roll);|
|00003b20| 0a 79 61 77 28 6d 6f 6e | 73 74 65 72 5f 79 61 77 |.yaw(mon|ster_yaw|
|00003b30| 29 3b 0a 70 69 74 63 68 | 28 6d 6f 6e 73 74 65 72 |);.pitch|(monster|
|00003b40| 5f 70 69 74 63 68 29 3b | 0a 68 65 61 64 28 29 3b |_pitch);|.head();|
|00003b50| 0a 65 79 65 73 28 29 3b | 0a 74 65 6e 74 61 63 6c |.eyes();|.tentacl|
|00003b60| 65 73 28 29 3b 0a 70 6f | 70 28 29 3b 0a 7d 0a 66 |es();.po|p();.}.f|
|00003b70| 75 6e 63 20 76 6f 69 64 | 20 68 65 61 64 28 29 20 |unc void| head() |
|00003b80| 7b 0a 64 61 74 61 20 6e | 75 6d 20 68 65 61 64 5f |{.data n|um head_|
|00003b90| 72 6f 6c 6c 20 3d 20 5b | 33 2e 33 30 36 30 38 5d |roll = [|3.30608]|
|00003ba0| 3a 5b 2d 36 5d 3a 5b 36 | 5d 3b 20 0a 64 61 74 61 |:[-6]:[6|]; .data|
|00003bb0| 20 6e 75 6d 20 68 65 61 | 64 5f 79 61 77 20 3d 20 | num hea|d_yaw = |
|00003bc0| 5b 2d 32 2e 31 39 33 37 | 38 5d 3a 5b 2d 36 5d 3a |[-2.1937|8]:[-6]:|
|00003bd0| 5b 36 5d 3b 20 0a 64 61 | 74 61 20 6e 75 6d 20 68 |[6]; .da|ta num h|
|00003be0| 65 61 64 5f 70 69 74 63 | 68 20 3d 20 5b 2d 30 2e |ead_pitc|h = [-0.|
|00003bf0| 30 39 34 32 34 35 39 5d | 3a 5b 2d 36 5d 3a 5b 36 |0942459]|:[-6]:[6|
|00003c00| 5d 3b 20 0a 64 61 74 61 | 20 76 65 63 33 20 73 74 |]; .data| vec3 st|
|00003c10| 72 65 74 63 68 20 3d 20 | 5b 3c 30 2e 38 38 34 30 |retch = |[<0.8840|
|00003c20| 35 39 2c 30 2e 39 39 31 | 31 39 39 2c 31 2e 31 31 |59,0.991|199,1.11|
|00003c30| 33 32 32 3e 5d 3a 5b 3c | 30 2e 38 2c 30 2e 38 2c |322>]:[<|0.8,0.8,|
|00003c40| 30 2e 38 3e 5d 3a 5b 3c | 31 2e 32 2c 31 2e 32 2c |0.8>]:[<|1.2,1.2,|
|00003c50| 31 2e 32 3e 5d 3b 20 0a | 70 75 73 68 28 29 3b 0a |1.2>]; .|push();.|
|00003c60| 73 65 74 5f 70 72 69 6d | 28 5b 33 5d 29 3b 0a 75 |set_prim|([3]);.u|
|00003c70| 73 63 61 6c 65 28 68 65 | 61 64 5f 73 69 7a 65 29 |scale(he|ad_size)|
|00003c80| 3b 0a 65 67 67 5f 72 6f | 6c 6c 28 68 65 61 64 5f |;.egg_ro|ll(head_|
|00003c90| 72 6f 6c 6c 29 3b 0a 65 | 67 67 5f 79 61 77 28 68 |roll);.e|gg_yaw(h|
|00003ca0| 65 61 64 5f 79 61 77 29 | 3b 0a 65 67 67 5f 70 69 |ead_yaw)|;.egg_pi|
|00003cb0| 74 63 68 28 68 65 61 64 | 5f 70 69 74 63 68 29 3b |tch(head|_pitch);|
|00003cc0| 0a 73 63 61 6c 65 28 73 | 74 72 65 74 63 68 29 3b |.scale(s|tretch);|
|00003cd0| 0a 70 69 74 63 68 28 2d | 68 65 61 64 5f 70 69 74 |.pitch(-|head_pit|
|00003ce0| 63 68 29 3b 0a 79 61 77 | 28 2d 68 65 61 64 5f 79 |ch);.yaw|(-head_y|
|00003cf0| 61 77 29 3b 0a 72 6f 6c | 6c 28 2d 68 65 61 64 5f |aw);.rol|l(-head_|
|00003d00| 72 6f 6c 6c 29 3b 0a 73 | 65 74 5f 74 65 78 74 75 |roll);.s|et_textu|
|00003d10| 72 65 28 5b 30 5d 29 3b | 0a 73 65 74 5f 63 6f 6c |re([0]);|.set_col|
|00003d20| 6f 75 72 28 68 65 61 64 | 5f 63 6f 6c 6f 75 72 29 |our(head|_colour)|
|00003d30| 3b 0a 6c 61 79 28 29 3b | 0a 70 6f 70 28 29 3b 0a |;.lay();|.pop();.|
|00003d40| 7d 0a 66 75 6e 63 20 76 | 6f 69 64 20 65 79 65 73 |}.func v|oid eyes|
|00003d50| 28 29 20 7b 0a 70 75 73 | 68 28 29 3b 0a 64 61 74 |() {.pus|h();.dat|
|00003d60| 61 20 6e 75 6d 20 65 79 | 65 73 20 3d 20 5b 36 2e |a num ey|es = [6.|
|00003d70| 39 39 34 33 38 5d 3a 5b | 31 5d 3a 5b 33 35 5d 3b |99438]:[|1]:[35];|
|00003d80| 20 0a 64 61 74 61 20 6e | 75 6d 20 6d 61 78 5f 65 | .data n|um max_e|
|00003d90| 79 65 73 20 3d 20 5b 33 | 35 5d 3b 20 0a 64 61 74 |yes = [3|5]; .dat|
|00003da0| 61 20 6e 75 6d 20 72 6f | 6c 6c 5f 72 65 70 73 20 |a num ro|ll_reps |
|00003db0| 3d 20 5b 31 33 39 38 2e | 37 33 5d 3b 20 0a 64 61 |= [1398.|73]; .da|
|00003dc0| 74 61 20 6e 75 6d 20 72 | 6f 6c 6c 5f 6d 61 78 20 |ta num r|oll_max |
|00003dd0| 3d 20 5b 31 37 31 33 2e | 35 38 5d 3b 20 0a 64 61 |= [1713.|58]; .da|
|00003de0| 74 61 20 6e 75 6d 20 72 | 6f 6c 6c 5f 6f 66 66 73 |ta num r|oll_offs|
|00003df0| 65 74 20 3d 20 5b 31 2e | 33 34 32 34 5d 3b 20 0a |et = [1.|3424]; .|
|00003e00| 64 61 74 61 20 6e 75 6d | 20 70 69 74 63 68 5f 72 |data num| pitch_r|
|00003e10| 65 70 73 20 3d 20 5b 35 | 36 37 2e 39 37 32 5d 3b |eps = [5|67.972];|
|00003e20| 20 0a 64 61 74 61 20 6e | 75 6d 20 70 69 74 63 68 | .data n|um pitch|
|00003e30| 5f 6d 61 78 20 3d 20 5b | 39 31 37 2e 31 32 5d 3b |_max = [|917.12];|
|00003e40| 20 0a 64 61 74 61 20 6e | 75 6d 20 70 69 74 63 68 | .data n|um pitch|
|00003e50| 5f 6f 66 66 73 65 74 20 | 3d 20 5b 30 2e 37 37 35 |_offset |= [0.775|
|00003e60| 33 5d 3b 20 0a 64 61 74 | 61 20 6e 75 6d 20 79 61 |3]; .dat|a num ya|
|00003e70| 77 5f 72 65 70 73 20 3d | 20 5b 31 39 38 39 2e 33 |w_reps =| [1989.3|
|00003e80| 34 5d 3b 20 0a 64 61 74 | 61 20 6e 75 6d 20 79 61 |4]; .dat|a num ya|
|00003e90| 77 5f 6d 61 78 20 3d 20 | 5b 31 34 33 33 2e 37 38 |w_max = |[1433.78|
|00003ea0| 5d 3b 20 0a 64 61 74 61 | 20 6e 75 6d 20 79 61 77 |]; .data| num yaw|
|00003eb0| 5f 6f 66 66 73 65 74 20 | 3d 20 5b 35 2e 39 33 34 |_offset |= [5.934|
|00003ec0| 36 5d 3b 20 0a 64 61 74 | 61 20 6e 75 6d 20 73 69 |6]; .dat|a num si|
|00003ed0| 7a 65 5f 72 65 70 73 20 | 3d 20 5b 36 2e 37 39 34 |ze_reps |= [6.794|
|00003ee0| 36 35 5d 3a 5b 30 5d 3a | 5b 38 5d 3b 20 0a 64 61 |65]:[0]:|[8]; .da|
|00003ef0| 74 61 20 6e 75 6d 20 73 | 69 7a 65 5f 76 61 72 20 |ta num s|ize_var |
|00003f00| 3d 20 5b 30 2e 31 38 30 | 31 35 31 5d 3a 5b 2d 30 |= [0.180|151]:[-0|
|00003f10| 2e 36 5d 3a 5b 30 2e 36 | 5d 3b 20 0a 64 61 74 61 |.6]:[0.6|]; .data|
|00003f20| 20 6e 75 6d 20 65 79 65 | 5f 73 69 7a 65 3b 20 0a | num eye|_size; .|
|00003f30| 66 6f 72 28 20 6e 75 6d | 20 69 20 3d 20 5b 30 5d |for( num| i = [0]|
|00003f40| 3b 20 6c 65 73 73 28 69 | 2c 65 79 65 73 29 3b 20 |; less(i|,eyes); |
|00003f50| 28 69 2b 5b 31 5d 29 20 | 29 20 7b 0a 64 61 74 61 |(i+[1]) |) {.data|
|00003f60| 20 6e 75 6d 20 6c 6f 63 | 75 73 20 3d 20 28 69 2f | num loc|us = (i/|
|00003f70| 28 6d 61 78 5f 65 79 65 | 73 2d 5b 31 5d 29 29 3b |(max_eye|s-[1]));|
|00003f80| 20 0a 72 6f 6c 6c 28 28 | 73 69 6e 28 28 28 72 6f | .roll((|sin(((ro|
|00003f90| 6c 6c 5f 72 65 70 73 2a | 5b 33 2e 31 34 31 35 39 |ll_reps*|[3.14159|
|00003fa0| 5d 29 2a 28 6c 6f 63 75 | 73 2b 72 6f 6c 6c 5f 6f |])*(locu|s+roll_o|
|00003fb0| 66 66 73 65 74 29 29 29 | 2a 72 6f 6c 6c 5f 6d 61 |ffset)))|*roll_ma|
|00003fc0| 78 29 29 3b 0a 79 61 77 | 28 28 73 69 6e 28 28 28 |x));.yaw|((sin(((|
|00003fd0| 79 61 77 5f 72 65 70 73 | 2a 5b 33 2e 31 34 31 35 |yaw_reps|*[3.1415|
|00003fe0| 39 5d 29 2a 28 6c 6f 63 | 75 73 2b 79 61 77 5f 6f |9])*(loc|us+yaw_o|
|00003ff0| 66 66 73 65 74 29 29 29 | 2a 79 61 77 5f 6d 61 78 |ffset)))|*yaw_max|
|00004000| 29 29 3b 0a 70 69 74 63 | 68 28 28 73 69 6e 28 28 |));.pitc|h((sin((|
|00004010| 28 70 69 74 63 68 5f 72 | 65 70 73 2a 5b 33 2e 31 |(pitch_r|eps*[3.1|
|00004020| 34 31 35 39 5d 29 2a 28 | 6c 6f 63 75 73 2b 70 69 |4159])*(|locus+pi|
|00004030| 74 63 68 5f 6f 66 66 73 | 65 74 29 29 29 2a 70 69 |tch_offs|et)))*pi|
|00004040| 74 63 68 5f 6d 61 78 29 | 29 3b 0a 65 79 65 5f 73 |tch_max)|);.eye_s|
|00004050| 69 7a 65 20 3d 20 28 5b | 31 5d 2b 28 73 69 6e 28 |ize = ([|1]+(sin(|
|00004060| 28 28 73 69 7a 65 5f 72 | 65 70 73 2a 5b 33 2e 31 |((size_r|eps*[3.1|
|00004070| 34 31 35 39 5d 29 2a 6c | 6f 63 75 73 29 29 2a 73 |4159])*l|ocus))*s|
|00004080| 69 7a 65 5f 76 61 72 29 | 29 3b 0a 69 66 28 6d 6f |ize_var)|);.if(mo|
|00004090| 72 65 28 28 69 2b 5b 31 | 5d 29 2c 65 79 65 73 29 |re((i+[1|]),eyes)|
|000040a0| 29 20 7b 0a 65 79 65 5f | 73 69 7a 65 20 3d 20 28 |) {.eye_|size = (|
|000040b0| 65 79 65 5f 73 69 7a 65 | 2a 28 65 79 65 73 25 69 |eye_size|*(eyes%i|
|000040c0| 29 29 3b 0a 7d 20 0a 70 | 75 73 68 28 29 3b 0a 66 |));.} .p|ush();.f|
|000040d0| 6f 72 77 61 72 64 28 28 | 68 65 61 64 5f 73 69 7a |orward((|head_siz|
|000040e0| 65 2f 5b 32 5d 29 29 3b | 0a 65 79 65 28 65 79 65 |e/[2]));|.eye(eye|
|000040f0| 5f 73 69 7a 65 29 3b 0a | 70 6f 70 28 29 3b 0a 7d |_size);.|pop();.}|
|00004100| 20 0a 70 6f 70 28 29 3b | 0a 7d 0a 66 75 6e 63 20 | .pop();|.}.func |
|00004110| 76 6f 69 64 20 74 65 6e | 74 61 63 6c 65 73 28 29 |void ten|tacles()|
|00004120| 20 7b 0a 70 75 73 68 28 | 29 3b 0a 64 61 74 61 20 | {.push(|);.data |
|00004130| 6e 75 6d 20 74 65 6e 74 | 61 63 6c 65 73 20 3d 20 |num tent|acles = |
|00004140| 5b 31 2e 39 33 39 32 33 | 5d 3a 5b 30 5d 3a 5b 34 |[1.93923|]:[0]:[4|
|00004150| 5d 3b 20 0a 64 61 74 61 | 20 6e 75 6d 20 6d 61 78 |]; .data| num max|
|00004160| 5f 74 65 6e 74 61 63 6c | 65 73 20 3d 20 5b 34 5d |_tentacl|es = [4]|
|00004170| 3b 20 0a 64 61 74 61 20 | 6e 75 6d 20 72 6f 6c 6c |; .data |num roll|
|00004180| 5f 72 65 70 73 20 3d 20 | 5b 31 35 39 37 2e 31 31 |_reps = |[1597.11|
|00004190| 5d 3b 20 0a 64 61 74 61 | 20 6e 75 6d 20 72 6f 6c |]; .data| num rol|
|000041a0| 6c 5f 6d 61 78 20 3d 20 | 5b 31 34 33 2e 33 32 34 |l_max = |[143.324|
|000041b0| 5d 3b 20 0a 64 61 74 61 | 20 6e 75 6d 20 72 6f 6c |]; .data| num rol|
|000041c0| 6c 5f 6f 66 66 73 65 74 | 20 3d 20 5b 30 2e 37 37 |l_offset| = [0.77|
|000041d0| 33 39 5d 3b 20 0a 64 61 | 74 61 20 6e 75 6d 20 70 |39]; .da|ta num p|
|000041e0| 69 74 63 68 5f 72 65 70 | 73 20 3d 20 5b 31 32 35 |itch_rep|s = [125|
|000041f0| 39 2e 33 35 5d 3b 20 0a | 64 61 74 61 20 6e 75 6d |9.35]; .|data num|
|00004200| 20 70 69 74 63 68 5f 6d | 61 78 20 3d 20 5b 39 38 | pitch_m|ax = [98|
|00004210| 37 2e 39 39 37 5d 3b 20 | 0a 64 61 74 61 20 6e 75 |7.997]; |.data nu|
|00004220| 6d 20 70 69 74 63 68 5f | 6f 66 66 73 65 74 20 3d |m pitch_|offset =|
|00004230| 20 5b 31 2e 31 31 39 33 | 5d 3b 20 0a 64 61 74 61 | [1.1193|]; .data|
|00004240| 20 6e 75 6d 20 79 61 77 | 5f 72 65 70 73 20 3d 20 | num yaw|_reps = |
|00004250| 5b 33 34 33 2e 33 39 38 | 5d 3b 20 0a 64 61 74 61 |[343.398|]; .data|
|00004260| 20 6e 75 6d 20 79 61 77 | 5f 6d 61 78 20 3d 20 5b | num yaw|_max = [|
|00004270| 31 33 33 39 2e 31 33 5d | 3b 20 0a 64 61 74 61 20 |1339.13]|; .data |
|00004280| 6e 75 6d 20 79 61 77 5f | 6f 66 66 73 65 74 20 3d |num yaw_|offset =|
|00004290| 20 5b 33 2e 39 31 36 5d | 3b 20 0a 64 61 74 61 20 | [3.916]|; .data |
|000042a0| 6e 75 6d 20 63 6f 6d 70 | 6c 65 74 65 6e 65 73 73 |num comp|leteness|
|000042b0| 5f 72 65 70 73 20 3d 20 | 5b 31 2e 33 32 34 35 32 |_reps = |[1.32452|
|000042c0| 5d 3a 5b 30 5d 3a 5b 33 | 5d 3b 20 0a 64 61 74 61 |]:[0]:[3|]; .data|
|000042d0| 20 6e 75 6d 20 63 6f 6d | 70 6c 65 74 65 6e 65 73 | num com|pletenes|
|000042e0| 73 5f 76 61 72 20 3d 20 | 5b 30 2e 35 5d 3b 20 0a |s_var = |[0.5]; .|
|000042f0| 64 61 74 61 20 6e 75 6d | 20 63 6f 6d 70 6c 65 74 |data num| complet|
|00004300| 65 6e 65 73 73 3b 20 0a | 66 6f 72 28 20 6e 75 6d |eness; .|for( num|
|00004310| 20 69 20 3d 20 5b 30 5d | 3b 20 6c 65 73 73 28 69 | i = [0]|; less(i|
|00004320| 2c 74 65 6e 74 61 63 6c | 65 73 29 3b 20 28 69 2b |,tentacl|es); (i+|
|00004330| 5b 31 5d 29 20 29 20 7b | 0a 64 61 74 61 20 6e 75 |[1]) ) {|.data nu|
|00004340| 6d 20 6c 6f 63 75 73 20 | 3d 20 28 69 2f 28 6d 61 |m locus |= (i/(ma|
|00004350| 78 5f 74 65 6e 74 61 63 | 6c 65 73 2d 5b 31 5d 29 |x_tentac|les-[1])|
|00004360| 29 3b 20 0a 72 6f 6c 6c | 28 28 73 69 6e 28 28 28 |); .roll|((sin(((|
|00004370| 72 6f 6c 6c 5f 72 65 70 | 73 2a 5b 33 2e 31 34 31 |roll_rep|s*[3.141|
|00004380| 35 39 5d 29 2a 28 6c 6f | 63 75 73 2b 72 6f 6c 6c |59])*(lo|cus+roll|
|00004390| 5f 6f 66 66 73 65 74 29 | 29 29 2a 72 6f 6c 6c 5f |_offset)|))*roll_|
|000043a0| 6d 61 78 29 29 3b 0a 79 | 61 77 28 28 73 69 6e 28 |max));.y|aw((sin(|
|000043b0| 28 28 79 61 77 5f 72 65 | 70 73 2a 5b 33 2e 31 34 |((yaw_re|ps*[3.14|
|000043c0| 31 35 39 5d 29 2a 28 6c | 6f 63 75 73 2b 79 61 77 |159])*(l|ocus+yaw|
|000043d0| 5f 6f 66 66 73 65 74 29 | 29 29 2a 79 61 77 5f 6d |_offset)|))*yaw_m|
|000043e0| 61 78 29 29 3b 0a 70 69 | 74 63 68 28 28 73 69 6e |ax));.pi|tch((sin|
|000043f0| 28 28 28 70 69 74 63 68 | 5f 72 65 70 73 2a 5b 33 |(((pitch|_reps*[3|
|00004400| 2e 31 34 31 35 39 5d 29 | 2a 28 6c 6f 63 75 73 2b |.14159])|*(locus+|
|00004410| 70 69 74 63 68 5f 6f 66 | 66 73 65 74 29 29 29 2a |pitch_of|fset)))*|
|00004420| 70 69 74 63 68 5f 6d 61 | 78 29 29 3b 0a 63 6f 6d |pitch_ma|x));.com|
|00004430| 70 6c 65 74 65 6e 65 73 | 73 20 3d 20 28 5b 30 2e |pletenes|s = ([0.|
|00004440| 35 5d 2b 28 73 69 6e 28 | 28 28 63 6f 6d 70 6c 65 |5]+(sin(|((comple|
|00004450| 74 65 6e 65 73 73 5f 72 | 65 70 73 2a 5b 33 2e 31 |teness_r|eps*[3.1|
|00004460| 34 31 35 39 5d 29 2a 6c | 6f 63 75 73 29 29 2a 63 |4159])*l|ocus))*c|
|00004470| 6f 6d 70 6c 65 74 65 6e | 65 73 73 5f 76 61 72 29 |ompleten|ess_var)|
|00004480| 29 3b 0a 69 66 28 6d 6f | 72 65 28 28 69 2b 5b 31 |);.if(mo|re((i+[1|
|00004490| 5d 29 2c 74 65 6e 74 61 | 63 6c 65 73 29 29 20 7b |]),tenta|cles)) {|
|000044a0| 0a 63 6f 6d 70 6c 65 74 | 65 6e 65 73 73 20 3d 20 |.complet|eness = |
|000044b0| 28 63 6f 6d 70 6c 65 74 | 65 6e 65 73 73 2a 28 74 |(complet|eness*(t|
|000044c0| 65 6e 74 61 63 6c 65 73 | 25 69 29 29 3b 0a 7d 20 |entacles|%i));.} |
|000044d0| 0a 70 75 73 68 28 29 3b | 0a 73 65 74 5f 74 65 78 |.push();|.set_tex|
|000044e0| 74 75 72 65 28 5b 30 5d | 29 3b 0a 66 6f 72 77 61 |ture([0]|);.forwa|
|000044f0| 72 64 28 28 68 65 61 64 | 5f 73 69 7a 65 2f 5b 32 |rd((head|_size/[2|
|00004500| 5d 29 29 3b 0a 74 65 6e | 74 61 63 6c 65 28 63 6f |]));.ten|tacle(co|
|00004510| 6d 70 6c 65 74 65 6e 65 | 73 73 29 3b 0a 70 6f 70 |mpletene|ss);.pop|
|00004520| 28 29 3b 0a 7d 20 0a 70 | 6f 70 28 29 3b 0a 7d 0a |();.} .p|op();.}.|
|00004530| 66 75 6e 63 20 76 6f 69 | 64 20 65 79 65 28 20 6e |func voi|d eye( n|
|00004540| 75 6d 20 73 69 7a 65 20 | 29 20 7b 0a 64 61 74 61 |um size |) {.data|
|00004550| 20 63 6f 6c 6f 75 72 20 | 62 61 6c 6c 5f 63 6f 6c | colour |ball_col|
|00004560| 6f 75 72 20 3d 20 5b 3c | 30 2e 31 34 36 36 35 32 |our = [<|0.146652|
|00004570| 2c 30 2e 32 33 36 34 37 | 34 2c 31 2c 31 3e 5d 3a |,0.23647|4,1,1>]:|
|00004580| 5b 3c 30 2c 30 2c 31 2c | 31 3e 5d 3a 5b 3c 31 2c |[<0,0,1,|1>]:[<1,|
|00004590| 30 2e 32 35 2c 31 2c 31 | 3e 5d 3b 20 0a 64 61 74 |0.25,1,1|>]; .dat|
|000045a0| 61 20 63 6f 6c 6f 75 72 | 20 69 72 69 73 5f 63 6f |a colour| iris_co|
|000045b0| 6c 6f 75 72 20 3d 20 5b | 3c 30 2e 34 35 31 32 30 |lour = [|<0.45120|
|000045c0| 37 2c 30 2e 39 38 31 37 | 36 32 2c 30 2e 37 37 38 |7,0.9817|62,0.778|
|000045d0| 33 31 32 2c 30 2e 35 35 | 33 39 34 37 3e 5d 3a 5b |312,0.55|3947>]:[|
|000045e0| 3c 30 2c 30 2e 34 2c 30 | 2e 35 2c 30 2e 35 3e 5d |<0,0.4,0|.5,0.5>]|
|000045f0| 3a 5b 3c 30 2e 37 2c 31 | 2c 31 2c 31 3e 5d 3b 20 |:[<0.7,1|,1,1>]; |
|00004600| 0a 64 61 74 61 20 63 6f | 6c 6f 75 72 20 70 75 70 |.data co|lour pup|
|00004610| 69 6c 5f 63 6f 6c 6f 75 | 72 20 3d 20 5b 3c 30 2c |il_colou|r = [<0,|
|00004620| 30 2c 30 2c 30 3e 5d 3b | 20 0a 64 61 74 61 20 6e |0,0,0>];| .data n|
|00004630| 75 6d 20 64 69 6c 61 74 | 69 6f 6e 5f 66 61 63 74 |um dilat|ion_fact|
|00004640| 6f 72 20 3d 20 5b 30 2e | 30 38 30 35 38 34 5d 3a |or = [0.|080584]:|
|00004650| 5b 30 5d 3a 5b 31 5d 3b | 20 0a 64 61 74 61 20 6e |[0]:[1];| .data n|
|00004660| 75 6d 20 6c 69 7a 61 72 | 64 5f 66 61 63 74 6f 72 |um lizar|d_factor|
|00004670| 20 3d 20 5b 30 2e 35 36 | 39 37 35 39 5d 3a 5b 30 | = [0.56|9759]:[0|
|00004680| 5d 3a 5b 31 5d 3b 20 0a | 64 61 74 61 20 6e 75 6d |]:[1]; .|data num|
|00004690| 20 6d 69 6e 5f 64 69 6c | 61 74 69 6f 6e 20 3d 20 | min_dil|ation = |
|000046a0| 5b 30 2e 32 5d 3b 20 0a | 64 61 74 61 20 6e 75 6d |[0.2]; .|data num|
|000046b0| 20 6d 61 78 5f 64 69 6c | 61 74 69 6f 6e 20 3d 20 | max_dil|ation = |
|000046c0| 5b 30 2e 37 5d 3b 20 0a | 64 61 74 61 20 6e 75 6d |[0.7]; .|data num|
|000046d0| 20 64 69 6c 61 74 69 6f | 6e 5f 64 69 66 66 20 3d | dilatio|n_diff =|
|000046e0| 20 28 6d 61 78 5f 64 69 | 6c 61 74 69 6f 6e 2d 6d | (max_di|lation-m|
|000046f0| 69 6e 5f 64 69 6c 61 74 | 69 6f 6e 29 3b 20 0a 64 |in_dilat|ion); .d|
|00004700| 61 74 61 20 6e 75 6d 20 | 64 69 6c 61 74 69 6f 6e |ata num |dilation|
|00004710| 20 3d 20 28 6d 69 6e 5f | 64 69 6c 61 74 69 6f 6e | = (min_|dilation|
|00004720| 2b 28 64 69 6c 61 74 69 | 6f 6e 5f 66 61 63 74 6f |+(dilati|on_facto|
|00004730| 72 2a 64 69 6c 61 74 69 | 6f 6e 5f 64 69 66 66 29 |r*dilati|on_diff)|
|00004740| 29 3b 20 0a 64 61 74 61 | 20 6e 75 6d 20 6c 69 7a |); .data| num liz|
|00004750| 61 72 64 20 3d 20 28 28 | 6d 61 78 5f 64 69 6c 61 |ard = ((|max_dila|
|00004760| 74 69 6f 6e 2d 64 69 6c | 61 74 69 6f 6e 29 2a 6c |tion-dil|ation)*l|
|00004770| 69 7a 61 72 64 5f 66 61 | 63 74 6f 72 29 3b 20 0a |izard_fa|ctor); .|
|00004780| 70 75 73 68 28 29 3b 0a | 73 65 74 5f 70 72 69 6d |push();.|set_prim|
|00004790| 28 5b 33 5d 29 3b 0a 75 | 73 63 61 6c 65 28 73 69 |([3]);.u|scale(si|
|000047a0| 7a 65 29 3b 0a 73 63 61 | 6c 65 28 5b 3c 31 2c 31 |ze);.sca|le([<1,1|
|000047b0| 2c 30 2e 37 38 3e 5d 29 | 3b 0a 66 6f 72 77 61 72 |,0.78>])|;.forwar|
|000047c0| 64 28 2d 5b 30 2e 32 5d | 29 3b 0a 73 65 74 5f 63 |d(-[0.2]|);.set_c|
|000047d0| 6f 6c 6f 75 72 28 62 61 | 6c 6c 5f 63 6f 6c 6f 75 |olour(ba|ll_colou|
|000047e0| 72 29 3b 0a 73 65 74 5f | 74 65 78 74 75 72 65 28 |r);.set_|texture(|
|000047f0| 5b 31 5d 29 3b 0a 6c 61 | 79 28 29 3b 0a 66 6f 72 |[1]);.la|y();.for|
|00004800| 77 61 72 64 28 5b 30 2e | 34 35 35 5d 29 3b 0a 73 |ward([0.|455]);.s|
|00004810| 65 74 5f 74 65 78 74 75 | 72 65 28 5b 2d 31 5d 29 |et_textu|re([-1])|
|00004820| 3b 0a 73 63 61 6c 65 28 | 5b 3c 30 2e 35 2c 30 2e |;.scale(|[<0.5,0.|
|00004830| 35 2c 30 2e 30 36 3e 5d | 29 3b 0a 73 65 74 5f 63 |5,0.06>]|);.set_c|
|00004840| 6f 6c 6f 75 72 28 69 72 | 69 73 5f 63 6f 6c 6f 75 |olour(ir|is_colou|
|00004850| 72 29 3b 0a 6c 61 79 28 | 29 3b 0a 66 6f 72 77 61 |r);.lay(|);.forwa|
|00004860| 72 64 28 5b 30 2e 35 5d | 29 3b 0a 73 63 61 6c 65 |rd([0.5]|);.scale|
|00004870| 28 76 33 6d 61 6b 65 28 | 64 69 6c 61 74 69 6f 6e |(v3make(|dilation|
|00004880| 2c 28 64 69 6c 61 74 69 | 6f 6e 2b 6c 69 7a 61 72 |,(dilati|on+lizar|
|00004890| 64 29 2c 5b 31 5d 29 29 | 3b 0a 66 6f 72 77 61 72 |d),[1]))|;.forwar|
|000048a0| 64 28 5b 30 2e 36 5d 29 | 3b 0a 73 65 74 5f 63 6f |d([0.6])|;.set_co|
|000048b0| 6c 6f 75 72 28 70 75 70 | 69 6c 5f 63 6f 6c 6f 75 |lour(pup|il_colou|
|000048c0| 72 29 3b 0a 6c 61 79 28 | 29 3b 0a 70 6f 70 28 29 |r);.lay(|);.pop()|
|000048d0| 3b 0a 7d 0a 66 75 6e 63 | 20 76 6f 69 64 20 74 65 |;.}.func| void te|
|000048e0| 6e 74 61 63 6c 65 28 20 | 6e 75 6d 20 63 6f 6d 70 |ntacle( |num comp|
|000048f0| 6c 65 74 65 6e 65 73 73 | 20 29 20 7b 0a 64 61 74 |leteness| ) {.dat|
|00004900| 61 20 6e 75 6d 20 6d 61 | 78 5f 69 6e 69 74 5f 68 |a num ma|x_init_h|
|00004910| 5f 73 63 6c 20 3d 20 5b | 30 2e 34 39 38 37 36 35 |_scl = [|0.498765|
|00004920| 5d 3a 5b 30 2e 31 5d 3a | 5b 31 5d 3b 20 0a 64 61 |]:[0.1]:|[1]; .da|
|00004930| 74 61 20 6e 75 6d 20 76 | 5f 73 63 61 6c 65 5f 66 |ta num v|_scale_f|
|00004940| 61 63 74 6f 72 20 3d 20 | 5b 30 2e 35 39 31 33 31 |actor = |[0.59131|
|00004950| 34 5d 3a 5b 30 2e 33 5d | 3a 5b 30 2e 38 5d 3b 20 |4]:[0.3]|:[0.8]; |
|00004960| 0a 64 61 74 61 20 6e 75 | 6d 20 6d 61 78 5f 73 63 |.data nu|m max_sc|
|00004970| 6c 5f 63 68 61 6e 67 65 | 20 3d 20 5b 30 2e 39 39 |l_change| = [0.99|
|00004980| 5d 3b 20 0a 64 61 74 61 | 20 6e 75 6d 20 6d 69 6e |]; .data| num min|
|00004990| 5f 73 63 6c 20 3d 20 5b | 30 2e 30 31 5d 3b 20 0a |_scl = [|0.01]; .|
|000049a0| 64 61 74 61 20 63 6f 6c | 6f 75 72 20 65 6e 64 5f |data col|our end_|
|000049b0| 63 6f 6c 6f 75 72 20 3d | 20 5b 3c 30 2e 31 33 30 |colour =| [<0.130|
|000049c0| 31 32 39 2c 30 2e 38 35 | 39 37 34 2c 30 2e 39 39 |129,0.85|974,0.99|
|000049d0| 39 39 39 2c 30 2e 39 39 | 39 39 39 3e 5d 3a 5b 3c |999,0.99|999>]:[<|
|000049e0| 30 2c 30 2e 34 2c 30 2e | 39 39 39 39 39 2c 30 2e |0,0.4,0.|99999,0.|
|000049f0| 39 39 39 39 39 3e 5d 3a | 5b 3c 30 2e 39 39 39 39 |99999>]:|[<0.9999|
|00004a00| 39 2c 30 2e 39 39 39 39 | 39 2c 30 2e 39 39 39 39 |9,0.9999|9,0.9999|
|00004a10| 39 2c 30 2e 39 39 39 39 | 39 3e 5d 3b 20 0a 70 75 |9,0.9999|9>]; .pu|
|00004a20| 73 68 28 29 3b 0a 64 61 | 74 61 20 6e 75 6d 20 69 |sh();.da|ta num i|
|00004a30| 6e 69 74 5f 73 63 6c 20 | 3d 20 28 28 63 6f 6d 70 |nit_scl |= ((comp|
|00004a40| 6c 65 74 65 6e 65 73 73 | 2a 6d 61 78 5f 69 6e 69 |leteness|*max_ini|
|00004a50| 74 5f 68 5f 73 63 6c 29 | 2a 68 65 61 64 5f 73 69 |t_h_scl)|*head_si|
|00004a60| 7a 65 29 3b 20 0a 64 61 | 74 61 20 6e 75 6d 20 73 |ze); .da|ta num s|
|00004a70| 63 6c 5f 63 68 61 6e 67 | 65 3b 20 0a 64 61 74 61 |cl_chang|e; .data|
|00004a80| 20 6e 75 6d 20 66 77 64 | 20 3d 20 5b 30 2e 38 5d | num fwd| = [0.8]|
|00004a90| 3b 20 0a 75 73 63 61 6c | 65 28 69 6e 69 74 5f 73 |; .uscal|e(init_s|
|00004aa0| 63 6c 29 3b 0a 73 63 61 | 6c 65 28 76 33 6d 61 6b |cl);.sca|le(v3mak|
|00004ab0| 65 28 5b 31 5d 2c 5b 31 | 5d 2c 76 5f 73 63 61 6c |e([1],[1|],v_scal|
|00004ac0| 65 5f 66 61 63 74 6f 72 | 29 29 3b 0a 73 65 74 5f |e_factor|));.set_|
|00004ad0| 70 72 69 6d 28 5b 33 5d | 29 3b 0a 69 6e 69 74 5f |prim([3]|);.init_|
|00004ae0| 63 73 70 61 63 65 28 5b | 30 5d 2c 68 65 61 64 5f |cspace([|0],head_|
|00004af0| 63 6f 6c 6f 75 72 29 3b | 0a 65 78 74 65 6e 64 5f |colour);|.extend_|
|00004b00| 63 73 70 61 63 65 28 5b | 30 5d 2c 5b 31 5d 2c 65 |cspace([|0],[1],e|
|00004b10| 6e 64 5f 63 6f 6c 6f 75 | 72 29 3b 0a 64 61 74 61 |nd_colou|r);.data|
|00004b20| 20 6e 75 6d 20 72 6f 6c | 6c 5f 72 65 70 73 20 3d | num rol|l_reps =|
|00004b30| 20 5b 30 2e 36 31 36 36 | 38 37 5d 3a 5b 30 2e 35 | [0.6166|87]:[0.5|
|00004b40| 5d 3a 5b 34 5d 3b 20 0a | 64 61 74 61 20 6e 75 6d |]:[4]; .|data num|
|00004b50| 20 72 6f 6c 6c 5f 6d 61 | 78 20 3d 20 5b 30 2e 31 | roll_ma|x = [0.1|
|00004b60| 33 31 39 5d 3a 5b 2d 30 | 2e 35 5d 3a 5b 30 2e 35 |319]:[-0|.5]:[0.5|
|00004b70| 5d 3b 20 0a 64 61 74 61 | 20 6e 75 6d 20 72 6f 6c |]; .data| num rol|
|00004b80| 6c 5f 6f 66 66 73 65 74 | 20 3d 20 5b 30 2e 30 34 |l_offset| = [0.04|
|00004b90| 33 30 35 38 33 5d 3a 5b | 2d 30 2e 35 5d 3a 5b 30 |30583]:[|-0.5]:[0|
|00004ba0| 2e 35 5d 3b 20 0a 64 61 | 74 61 20 6e 75 6d 20 70 |.5]; .da|ta num p|
|00004bb0| 69 74 63 68 5f 72 65 70 | 73 20 3d 20 5b 32 2e 33 |itch_rep|s = [2.3|
|00004bc0| 35 34 33 39 5d 3a 5b 30 | 2e 35 5d 3a 5b 34 5d 3b |5439]:[0|.5]:[4];|
|00004bd0| 20 0a 64 61 74 61 20 6e | 75 6d 20 70 69 74 63 68 | .data n|um pitch|
|00004be0| 5f 6d 61 78 20 3d 20 5b | 30 2e 33 36 34 39 31 33 |_max = [|0.364913|
|00004bf0| 5d 3a 5b 2d 30 2e 35 5d | 3a 5b 30 2e 35 5d 3b 20 |]:[-0.5]|:[0.5]; |
|00004c00| 0a 64 61 74 61 20 6e 75 | 6d 20 70 69 74 63 68 5f |.data nu|m pitch_|
|00004c10| 6f 66 66 73 65 74 20 3d | 20 5b 30 2e 32 37 35 32 |offset =| [0.2752|
|00004c20| 39 38 5d 3a 5b 2d 30 2e | 35 5d 3a 5b 30 2e 35 5d |98]:[-0.|5]:[0.5]|
|00004c30| 3b 20 0a 64 61 74 61 20 | 6e 75 6d 20 79 61 77 5f |; .data |num yaw_|
|00004c40| 72 65 70 73 20 3d 20 5b | 33 2e 36 38 33 38 5d 3a |reps = [|3.6838]:|
|00004c50| 5b 30 2e 35 5d 3a 5b 34 | 5d 3b 20 0a 64 61 74 61 |[0.5]:[4|]; .data|
|00004c60| 20 6e 75 6d 20 79 61 77 | 5f 6d 61 78 20 3d 20 5b | num yaw|_max = [|
|00004c70| 30 2e 30 39 34 39 39 37 | 36 5d 3a 5b 2d 30 2e 35 |0.094997|6]:[-0.5|
|00004c80| 5d 3a 5b 30 2e 35 5d 3b | 20 0a 64 61 74 61 20 6e |]:[0.5];| .data n|
|00004c90| 75 6d 20 79 61 77 5f 6f | 66 66 73 65 74 20 3d 20 |um yaw_o|ffset = |
|00004ca0| 5b 30 2e 31 38 38 32 31 | 33 5d 3a 5b 2d 30 2e 35 |[0.18821|3]:[-0.5|
|00004cb0| 5d 3a 5b 30 2e 35 5d 3b | 20 0a 64 61 74 61 20 6e |]:[0.5];| .data n|
|00004cc0| 75 6d 20 73 63 6c 20 3d | 20 69 6e 69 74 5f 73 63 |um scl =| init_sc|
|00004cd0| 6c 3b 20 0a 64 61 74 61 | 20 6e 75 6d 20 6c 6f 63 |l; .data| num loc|
|00004ce0| 75 73 3b 20 0a 77 68 69 | 6c 65 28 6d 6f 72 65 28 |us; .whi|le(more(|
|00004cf0| 73 63 6c 2c 6d 69 6e 5f | 73 63 6c 29 29 20 7b 0a |scl,min_|scl)) {.|
|00004d00| 6c 6f 63 75 73 20 3d 20 | 28 5b 31 5d 2d 28 28 73 |locus = |([1]-((s|
|00004d10| 63 6c 2d 6d 69 6e 5f 73 | 63 6c 29 2f 28 69 6e 69 |cl-min_s|cl)/(ini|
|00004d20| 74 5f 73 63 6c 2d 6d 69 | 6e 5f 73 63 6c 29 29 29 |t_scl-mi|n_scl)))|
|00004d30| 3b 0a 73 65 74 5f 63 6f | 6c 6f 75 72 28 63 73 70 |;.set_co|lour(csp|
|00004d40| 61 63 65 28 5b 30 5d 2c | 28 63 6f 6d 70 6c 65 74 |ace([0],|(complet|
|00004d50| 65 6e 65 73 73 2a 6c 6f | 63 75 73 29 29 29 3b 0a |eness*lo|cus)));.|
|00004d60| 73 63 6c 5f 63 68 61 6e | 67 65 20 3d 20 28 28 63 |scl_chan|ge = ((c|
|00004d70| 6f 73 28 28 28 6c 6f 63 | 75 73 2a 5b 33 2e 31 34 |os(((loc|us*[3.14|
|00004d80| 31 35 39 5d 29 2f 5b 32 | 5d 29 29 2a 63 6f 6d 70 |159])/[2|]))*comp|
|00004d90| 6c 65 74 65 6e 65 73 73 | 29 2a 6d 61 78 5f 73 63 |leteness|)*max_sc|
|00004da0| 6c 5f 63 68 61 6e 67 65 | 29 3b 0a 6c 61 79 28 29 |l_change|);.lay()|
|00004db0| 3b 0a 66 6f 72 77 61 72 | 64 28 28 66 77 64 2f 5b |;.forwar|d((fwd/[|
|00004dc0| 32 5d 29 29 3b 0a 75 73 | 63 61 6c 65 28 73 63 6c |2]));.us|cale(scl|
|00004dd0| 5f 63 68 61 6e 67 65 29 | 3b 0a 72 6f 6c 6c 28 28 |_change)|;.roll((|
|00004de0| 73 69 6e 28 28 28 72 6f | 6c 6c 5f 72 65 70 73 2a |sin(((ro|ll_reps*|
|00004df0| 5b 33 2e 31 34 31 35 39 | 5d 29 2a 28 6c 6f 63 75 |[3.14159|])*(locu|
|00004e00| 73 2b 72 6f 6c 6c 5f 6f | 66 66 73 65 74 29 29 29 |s+roll_o|ffset)))|
|00004e10| 2a 72 6f 6c 6c 5f 6d 61 | 78 29 29 3b 0a 70 69 74 |*roll_ma|x));.pit|
|00004e20| 63 68 28 28 73 69 6e 28 | 28 28 70 69 74 63 68 5f |ch((sin(|((pitch_|
|00004e30| 72 65 70 73 2a 5b 33 2e | 31 34 31 35 39 5d 29 2a |reps*[3.|14159])*|
|00004e40| 28 6c 6f 63 75 73 2b 70 | 69 74 63 68 5f 6f 66 66 |(locus+p|itch_off|
|00004e50| 73 65 74 29 29 29 2a 70 | 69 74 63 68 5f 6d 61 78 |set)))*p|itch_max|
|00004e60| 29 29 3b 0a 79 61 77 28 | 28 73 69 6e 28 28 28 79 |));.yaw(|(sin(((y|
|00004e70| 61 77 5f 72 65 70 73 2a | 5b 33 2e 31 34 31 35 39 |aw_reps*|[3.14159|
|00004e80| 5d 29 2a 28 6c 6f 63 75 | 73 2b 79 61 77 5f 6f 66 |])*(locu|s+yaw_of|
|00004e90| 66 73 65 74 29 29 29 2a | 79 61 77 5f 6d 61 78 29 |fset)))*|yaw_max)|
|00004ea0| 29 3b 0a 66 6f 72 77 61 | 72 64 28 28 66 77 64 2f |);.forwa|rd((fwd/|
|00004eb0| 5b 32 5d 29 29 3b 0a 73 | 63 6c 20 3d 20 28 73 63 |[2]));.s|cl = (sc|
|00004ec0| 6c 2a 73 63 6c 5f 63 68 | 61 6e 67 65 29 3b 0a 7d |l*scl_ch|ange);.}|
|00004ed0| 20 0a 70 6f 70 28 29 3b | 0a 7d 0a 66 75 6e 63 20 | .pop();|.}.func |
|00004ee0| 76 6f 69 64 20 72 65 63 | 74 61 6e 67 6c 65 28 20 |void rec|tangle( |
|00004ef0| 76 65 63 33 20 74 6f 70 | 5f 6c 65 66 74 2c 20 76 |vec3 top|_left, v|
|00004f00| 65 63 33 20 74 6f 70 5f | 72 69 67 68 74 2c 20 76 |ec3 top_|right, v|
|00004f10| 65 63 33 20 62 6f 74 74 | 6f 6d 5f 6c 65 66 74 2c |ec3 bott|om_left,|
|00004f20| 20 76 65 63 33 20 62 6f | 74 74 6f 6d 5f 72 69 67 | vec3 bo|ttom_rig|
|00004f30| 68 74 2c 20 6e 75 6d 20 | 74 68 69 63 6b 6e 65 73 |ht, num |thicknes|
|00004f40| 73 20 29 20 7b 0a 6c 69 | 6e 65 28 74 6f 70 5f 6c |s ) {.li|ne(top_l|
|00004f50| 65 66 74 2c 74 6f 70 5f | 72 69 67 68 74 2c 74 68 |eft,top_|right,th|
|00004f60| 69 63 6b 6e 65 73 73 29 | 3b 0a 6c 69 6e 65 28 74 |ickness)|;.line(t|
|00004f70| 6f 70 5f 6c 65 66 74 2c | 62 6f 74 74 6f 6d 5f 6c |op_left,|bottom_l|
|00004f80| 65 66 74 2c 74 68 69 63 | 6b 6e 65 73 73 29 3b 0a |eft,thic|kness);.|
|00004f90| 6c 69 6e 65 28 62 6f 74 | 74 6f 6d 5f 6c 65 66 74 |line(bot|tom_left|
|00004fa0| 2c 62 6f 74 74 6f 6d 5f | 72 69 67 68 74 2c 74 68 |,bottom_|right,th|
|00004fb0| 69 63 6b 6e 65 73 73 29 | 3b 0a 6c 69 6e 65 28 74 |ickness)|;.line(t|
|00004fc0| 6f 70 5f 72 69 67 68 74 | 2c 62 6f 74 74 6f 6d 5f |op_right|,bottom_|
|00004fd0| 72 69 67 68 74 2c 74 68 | 69 63 6b 6e 65 73 73 29 |right,th|ickness)|
|00004fe0| 3b 0a 7d 0a 66 75 6e 63 | 20 76 6f 69 64 20 6c 69 |;.}.func| void li|
|00004ff0| 6e 65 28 20 76 65 63 33 | 20 70 31 2c 20 76 65 63 |ne( vec3| p1, vec|
|00005000| 33 20 70 32 2c 20 6e 75 | 6d 20 74 68 69 63 6b 6e |3 p2, nu|m thickn|
|00005010| 65 73 73 20 29 20 7b 0a | 64 61 74 61 20 6e 75 6d |ess ) {.|data num|
|00005020| 20 78 5f 64 69 66 66 20 | 3d 20 28 76 33 78 28 70 | x_diff |= (v3x(p|
|00005030| 32 29 2d 76 33 78 28 70 | 31 29 29 3b 20 0a 64 61 |2)-v3x(p|1)); .da|
|00005040| 74 61 20 6e 75 6d 20 79 | 5f 64 69 66 66 20 3d 20 |ta num y|_diff = |
|00005050| 28 76 33 79 28 70 32 29 | 2d 76 33 79 28 70 31 29 |(v3y(p2)|-v3y(p1)|
|00005060| 29 3b 20 0a 64 61 74 61 | 20 6e 75 6d 20 7a 5f 64 |); .data| num z_d|
|00005070| 69 66 66 20 3d 20 28 76 | 33 7a 28 70 32 29 2d 76 |iff = (v|3z(p2)-v|
|00005080| 33 7a 28 70 31 29 29 3b | 20 0a 64 61 74 61 20 6e |3z(p1));| .data n|
|00005090| 75 6d 20 6c 69 6e 65 5f | 6c 65 6e 67 74 68 20 3d |um line_|length =|
|000050a0| 20 28 28 28 28 78 5f 64 | 69 66 66 5e 5b 32 5d 29 | ((((x_d|iff^[2])|
|000050b0| 2b 28 79 5f 64 69 66 66 | 5e 5b 32 5d 29 29 2b 28 |+(y_diff|^[2]))+(|
|000050c0| 7a 5f 64 69 66 66 5e 5b | 32 5d 29 29 5e 5b 30 2e |z_diff^[|2]))^[0.|
|000050d0| 35 5d 29 3b 20 0a 64 61 | 74 61 20 6e 75 6d 20 79 |5]); .da|ta num y|
|000050e0| 61 77 31 3b 20 0a 64 61 | 74 61 20 6e 75 6d 20 70 |aw1; .da|ta num p|
|000050f0| 69 74 63 68 31 3b 20 0a | 69 66 28 6d 6f 72 65 28 |itch1; .|if(more(|
|00005100| 7a 5f 64 69 66 66 2c 5b | 30 5d 29 29 20 7b 0a 79 |z_diff,[|0])) {.y|
|00005110| 61 77 31 20 3d 20 61 74 | 61 6e 28 28 78 5f 64 69 |aw1 = at|an((x_di|
|00005120| 66 66 2f 7a 5f 64 69 66 | 66 29 29 3b 0a 7d 20 65 |ff/z_dif|f));.} e|
|00005130| 6c 73 65 20 69 66 28 6c | 65 73 73 28 7a 5f 64 69 |lse if(l|ess(z_di|
|00005140| 66 66 2c 5b 30 5d 29 29 | 20 7b 0a 79 61 77 31 20 |ff,[0]))| {.yaw1 |
|00005150| 3d 20 28 68 61 6c 66 5f | 63 69 72 63 6c 65 2b 61 |= (half_|circle+a|
|00005160| 74 61 6e 28 28 78 5f 64 | 69 66 66 2f 7a 5f 64 69 |tan((x_d|iff/z_di|
|00005170| 66 66 29 29 29 3b 0a 7d | 20 65 6c 73 65 20 7b 0a |ff)));.}| else {.|
|00005180| 69 66 28 6d 6f 72 65 28 | 78 5f 64 69 66 66 2c 5b |if(more(|x_diff,[|
|00005190| 30 5d 29 29 20 7b 0a 79 | 61 77 31 20 3d 20 72 69 |0])) {.y|aw1 = ri|
|000051a0| 67 68 74 5f 61 6e 67 6c | 65 3b 0a 7d 20 65 6c 73 |ght_angl|e;.} els|
|000051b0| 65 20 7b 0a 79 61 77 31 | 20 3d 20 2d 72 69 67 68 |e {.yaw1| = -righ|
|000051c0| 74 5f 61 6e 67 6c 65 3b | 0a 7d 20 0a 7d 20 0a 64 |t_angle;|.} .} .d|
|000051d0| 61 74 61 20 6e 75 6d 20 | 64 20 3d 20 28 28 28 78 |ata num |d = (((x|
|000051e0| 5f 64 69 66 66 5e 5b 32 | 5d 29 2b 28 7a 5f 64 69 |_diff^[2|])+(z_di|
|000051f0| 66 66 5e 5b 32 5d 29 29 | 5e 5b 30 2e 35 5d 29 3b |ff^[2]))|^[0.5]);|
|00005200| 20 0a 69 66 28 65 71 28 | 64 2c 5b 30 5d 29 29 20 | .if(eq(|d,[0])) |
|00005210| 7b 0a 69 66 28 6d 6f 72 | 65 28 79 5f 64 69 66 66 |{.if(mor|e(y_diff|
|00005220| 2c 5b 30 5d 29 29 20 7b | 0a 70 69 74 63 68 31 20 |,[0])) {|.pitch1 |
|00005230| 3d 20 2d 72 69 67 68 74 | 5f 61 6e 67 6c 65 3b 0a |= -right|_angle;.|
|00005240| 7d 20 65 6c 73 65 20 7b | 0a 70 69 74 63 68 31 20 |} else {|.pitch1 |
|00005250| 3d 20 72 69 67 68 74 5f | 61 6e 67 6c 65 3b 0a 7d |= right_|angle;.}|
|00005260| 20 0a 7d 20 65 6c 73 65 | 20 7b 0a 70 69 74 63 68 | .} else| {.pitch|
|00005270| 31 20 3d 20 2d 61 74 61 | 6e 28 28 79 5f 64 69 66 |1 = -ata|n((y_dif|
|00005280| 66 2f 64 29 29 3b 0a 7d | 20 0a 70 75 73 68 28 29 |f/d));.}| .push()|
|00005290| 3b 0a 6d 6f 76 65 28 70 | 31 29 3b 0a 79 61 77 28 |;.move(p|1);.yaw(|
|000052a0| 79 61 77 31 29 3b 0a 70 | 69 74 63 68 28 70 69 74 |yaw1);.p|itch(pit|
|000052b0| 63 68 31 29 3b 0a 66 6f | 72 77 61 72 64 28 28 6c |ch1);.fo|rward((l|
|000052c0| 69 6e 65 5f 6c 65 6e 67 | 74 68 2f 5b 32 5d 29 29 |ine_leng|th/[2]))|
|000052d0| 3b 0a 73 63 61 6c 65 28 | 76 33 6d 61 6b 65 28 74 |;.scale(|v3make(t|
|000052e0| 68 69 63 6b 6e 65 73 73 | 2c 74 68 69 63 6b 6e 65 |hickness|,thickne|
|000052f0| 73 73 2c 6c 69 6e 65 5f | 6c 65 6e 67 74 68 29 29 |ss,line_|length))|
|00005300| 3b 0a 6c 61 79 28 29 3b | 0a 70 6f 70 28 29 3b 0a |;.lay();|.pop();.|
|00005310| 7d 0a 7d 20 0a 7d 20 69 | 6e 64 69 20 64 61 6e 63 |}.} .} i|ndi danc|
|00005320| 65 72 20 7b 0a 2f 2f 20 | 42 61 73 65 49 6e 64 69 |er {.// |BaseIndi|
|00005330| 20 61 74 74 72 69 62 75 | 74 65 73 0a 2f 2f 20 44 | attribu|tes.// D|
|00005340| 61 6e 63 65 72 49 6e 64 | 69 41 74 74 72 69 62 75 |ancerInd|iAttribu|
|00005350| 74 65 73 0a 67 65 6e 6f | 6d 65 20 64 61 6e 63 65 |tes.geno|me dance|
|00005360| 72 20 7b 0a 2f 2f 20 42 | 61 73 65 47 65 6e 6f 6d |r {.// B|aseGenom|
|00005370| 65 20 61 74 74 72 69 62 | 75 74 65 73 0a 2f 2f 20 |e attrib|utes.// |
|00005380| 44 61 6e 63 65 72 47 65 | 6e 6f 6d 65 20 61 74 74 |DancerGe|nome att|
|00005390| 72 69 62 75 74 65 73 0a | 70 72 6f 67 0a 66 75 6e |ributes.|prog.fun|
|000053a0| 63 20 76 6f 69 64 20 6d | 61 69 6e 28 29 3b 0a 66 |c void m|ain();.f|
|000053b0| 75 6e 63 20 76 6f 69 64 | 20 63 6f 72 61 6c 28 29 |unc void| coral()|
|000053c0| 3b 0a 66 75 6e 63 20 76 | 6f 69 64 20 68 61 6c 66 |;.func v|oid half|
|000053d0| 28 20 6e 75 6d 20 64 69 | 72 65 63 74 69 6f 6e 2c |( num di|rection,|
|000053e0| 20 6e 75 6d 20 74 75 62 | 65 6e 65 73 73 2c 20 6e | num tub|eness, n|
|000053f0| 75 6d 20 73 70 68 65 72 | 65 6e 65 73 73 2c 20 6e |um spher|eness, n|
|00005400| 75 6d 20 72 61 64 69 75 | 73 2c 20 6e 75 6d 20 68 |um radiu|s, num h|
|00005410| 6f 72 69 7a 5f 61 6e 67 | 6c 65 5f 69 6e 63 2c 20 |oriz_ang|le_inc, |
|00005420| 6e 75 6d 20 70 72 69 6d | 5f 73 69 7a 65 20 29 3b |num prim|_size );|
|00005430| 0a 66 75 6e 63 20 76 6f | 69 64 20 73 65 67 6d 65 |.func vo|id segme|
|00005440| 6e 74 28 20 6e 75 6d 20 | 64 69 72 65 63 74 69 6f |nt( num |directio|
|00005450| 6e 2c 20 6e 75 6d 20 64 | 69 73 70 6c 61 63 65 6d |n, num d|isplacem|
|00005460| 65 6e 74 2c 20 6e 75 6d | 20 73 70 69 72 61 6c 2c |ent, num| spiral,|
|00005470| 20 6e 75 6d 20 76 65 72 | 74 5f 61 6e 67 6c 65 2c | num ver|t_angle,|
|00005480| 20 6e 75 6d 20 66 77 64 | 2c 20 6e 75 6d 20 6c 6f | num fwd|, num lo|
|00005490| 63 75 73 2c 20 6e 75 6d | 20 70 72 69 6d 5f 73 69 |cus, num| prim_si|
|000054a0| 7a 65 20 29 3b 0a 66 75 | 6e 63 20 76 6f 69 64 20 |ze );.fu|nc void |
|000054b0| 62 75 69 6c 64 43 53 70 | 61 63 65 41 28 20 69 6e |buildCSp|aceA( in|
|000054c0| 74 20 69 6e 64 65 78 20 | 29 3b 0a 66 75 6e 63 20 |t index |);.func |
|000054d0| 76 6f 69 64 20 6d 6f 6e | 73 74 65 72 28 29 3b 0a |void mon|ster();.|
|000054e0| 66 75 6e 63 20 76 6f 69 | 64 20 68 65 61 64 28 29 |func voi|d head()|
|000054f0| 3b 0a 66 75 6e 63 20 76 | 6f 69 64 20 65 79 65 73 |;.func v|oid eyes|
|00005500| 28 29 3b 0a 66 75 6e 63 | 20 76 6f 69 64 20 74 65 |();.func| void te|
|00005510| 6e 74 61 63 6c 65 73 28 | 29 3b 0a 66 75 6e 63 20 |ntacles(|);.func |
|00005520| 76 6f 69 64 20 65 79 65 | 28 20 6e 75 6d 20 73 69 |void eye|( num si|
|00005530| 7a 65 20 29 3b 0a 66 75 | 6e 63 20 76 6f 69 64 20 |ze );.fu|nc void |
|00005540| 74 65 6e 74 61 63 6c 65 | 28 20 6e 75 6d 20 63 6f |tentacle|( num co|
|00005550| 6d 70 6c 65 74 65 6e 65 | 73 73 20 29 3b 0a 66 75 |mpletene|ss );.fu|
|00005560| 6e 63 20 76 6f 69 64 20 | 72 65 63 74 61 6e 67 6c |nc void |rectangl|
|00005570| 65 28 20 76 65 63 33 20 | 74 6f 70 5f 6c 65 66 74 |e( vec3 |top_left|
|00005580| 2c 20 76 65 63 33 20 74 | 6f 70 5f 72 69 67 68 74 |, vec3 t|op_right|
|00005590| 2c 20 76 65 63 33 20 62 | 6f 74 74 6f 6d 5f 6c 65 |, vec3 b|ottom_le|
|000055a0| 66 74 2c 20 76 65 63 33 | 20 62 6f 74 74 6f 6d 5f |ft, vec3| bottom_|
|000055b0| 72 69 67 68 74 2c 20 6e | 75 6d 20 74 68 69 63 6b |right, n|um thick|
|000055c0| 6e 65 73 73 20 29 3b 0a | 66 75 6e 63 20 76 6f 69 |ness );.|func voi|
|000055d0| 64 20 6c 69 6e 65 28 20 | 76 65 63 33 20 70 31 2c |d line( |vec3 p1,|
|000055e0| 20 76 65 63 33 20 70 32 | 2c 20 6e 75 6d 20 74 68 | vec3 p2|, num th|
|000055f0| 69 63 6b 6e 65 73 73 20 | 29 3b 0a 64 61 74 61 20 |ickness |);.data |
|00005600| 6e 75 6d 20 66 75 6c 6c | 5f 63 69 72 63 6c 65 20 |num full|_circle |
|00005610| 3d 20 28 5b 32 5d 2a 5b | 33 2e 31 34 31 35 39 5d |= ([2]*[|3.14159]|
|00005620| 29 3b 20 0a 64 61 74 61 | 20 6e 75 6d 20 68 61 6c |); .data| num hal|
|00005630| 66 5f 63 69 72 63 6c 65 | 20 3d 20 5b 33 2e 31 34 |f_circle| = [3.14|
|00005640| 31 35 39 5d 3b 20 0a 64 | 61 74 61 20 6e 75 6d 20 |159]; .d|ata num |
|00005650| 72 69 67 68 74 5f 61 6e | 67 6c 65 20 3d 20 28 5b |right_an|gle = ([|
|00005660| 33 2e 31 34 31 35 39 5d | 2f 5b 32 5d 29 3b 20 0a |3.14159]|/[2]); .|
|00005670| 64 61 74 61 20 6e 75 6d | 20 66 6f 72 74 79 5f 66 |data num| forty_f|
|00005680| 69 76 65 5f 64 65 67 73 | 20 3d 20 28 5b 33 2e 31 |ive_degs| = ([3.1|
|00005690| 34 31 35 39 5d 2f 5b 34 | 5d 29 3b 20 0a 64 61 74 |4159]/[4|]); .dat|
|000056a0| 61 20 6e 75 6d 20 68 65 | 61 64 5f 73 69 7a 65 20 |a num he|ad_size |
|000056b0| 3d 20 5b 35 2e 38 39 32 | 34 5d 3a 5b 32 5d 3a 5b |= [5.892|4]:[2]:[|
|000056c0| 38 5d 3b 20 0a 64 61 74 | 61 20 63 6f 6c 6f 75 72 |8]; .dat|a colour|
|000056d0| 20 68 65 61 64 5f 63 6f | 6c 6f 75 72 20 3d 20 5b | head_co|lour = [|
|000056e0| 3c 30 2e 30 30 38 39 36 | 39 33 33 2c 31 2c 30 2e |<0.00896|933,1,0.|
|000056f0| 34 33 38 30 30 34 2c 30 | 2e 34 34 31 39 38 3e 5d |438004,0|.44198>]|
|00005700| 3a 5b 3c 30 2c 31 2c 30 | 2e 32 2c 30 2e 32 3e 5d |:[<0,1,0|.2,0.2>]|
|00005710| 3a 5b 3c 30 2e 37 2c 31 | 2c 30 2e 36 2c 30 2e 36 |:[<0.7,1|,0.6,0.6|
|00005720| 3e 5d 3b 20 0a 64 61 74 | 61 20 6e 75 6d 20 65 78 |>]; .dat|a num ex|
|00005730| 70 61 6e 64 65 64 20 3d | 20 5b 31 2e 37 37 32 35 |panded =| [1.7725|
|00005740| 33 5d 3a 5b 30 2e 36 5d | 3a 5b 32 5d 3b 20 0a 64 |3]:[0.6]|:[2]; .d|
|00005750| 61 74 61 20 6e 75 6d 20 | 74 75 62 65 6e 65 73 73 |ata num |tubeness|
|00005760| 5f 75 70 20 3d 20 5b 33 | 2e 39 36 32 35 5d 3a 5b |_up = [3|.9625]:[|
|00005770| 30 5d 3a 5b 35 5d 3b 20 | 0a 64 61 74 61 20 6e 75 |0]:[5]; |.data nu|
|00005780| 6d 20 74 75 62 65 6e 65 | 73 73 5f 64 6f 77 6e 20 |m tubene|ss_down |
|00005790| 3d 20 5b 34 2e 32 33 38 | 34 5d 3a 5b 30 5d 3a 5b |= [4.238|4]:[0]:[|
|000057a0| 35 5d 3b 20 0a 64 61 74 | 61 20 6e 75 6d 20 73 70 |5]; .dat|a num sp|
|000057b0| 68 65 72 65 6e 65 73 73 | 5f 75 70 3b 20 0a 64 61 |hereness|_up; .da|
|000057c0| 74 61 20 6e 75 6d 20 73 | 70 68 65 72 65 6e 65 73 |ta num s|pherenes|
|000057d0| 73 5f 64 6f 77 6e 3b 20 | 0a 64 61 74 61 20 6e 75 |s_down; |.data nu|
|000057e0| 6d 20 73 70 69 72 61 6c | 5f 66 61 63 74 6f 72 20 |m spiral|_factor |
|000057f0| 3d 20 5b 30 2e 39 30 36 | 38 35 38 5d 3a 5b 2d 31 |= [0.906|858]:[-1|
|00005800| 5d 3a 5b 31 5d 3b 20 0a | 66 75 6e 63 20 76 6f 69 |]:[1]; .|func voi|
|00005810| 64 20 6d 61 69 6e 28 29 | 20 7b 0a 73 65 74 5f 73 |d main()| {.set_s|
|00005820| 68 61 72 70 28 5b 31 30 | 30 5d 29 3b 0a 73 65 74 |harp([10|0]);.set|
|00005830| 5f 73 68 69 6e 65 28 5b | 33 5d 29 3b 0a 70 69 74 |_shine([|3]);.pit|
|00005840| 63 68 28 28 5b 33 2e 31 | 34 31 35 39 5d 2f 5b 32 |ch(([3.1|4159]/[2|
|00005850| 5d 29 29 3b 0a 63 6f 72 | 61 6c 28 29 3b 0a 6d 6f |]));.cor|al();.mo|
|00005860| 6e 73 74 65 72 28 29 3b | 0a 7d 0a 66 75 6e 63 20 |nster();|.}.func |
|00005870| 76 6f 69 64 20 63 6f 72 | 61 6c 28 29 20 7b 0a 70 |void cor|al() {.p|
|00005880| 75 73 68 28 29 3b 0a 75 | 73 63 61 6c 65 28 5b 30 |ush();.u|scale([0|
|00005890| 2e 33 5d 29 3b 0a 64 61 | 74 61 20 69 6e 74 20 68 |.3]);.da|ta int h|
|000058a0| 6f 72 69 7a 5f 72 65 70 | 73 20 3d 20 5b 38 5d 3b |oriz_rep|s = [8];|
|000058b0| 20 0a 64 61 74 61 20 6e | 75 6d 20 72 61 64 69 75 | .data n|um radiu|
|000058c0| 73 20 3d 20 5b 31 30 5d | 3b 20 0a 64 61 74 61 20 |s = [10]|; .data |
|000058d0| 6e 75 6d 20 68 6f 72 69 | 7a 5f 61 6e 67 6c 65 5f |num hori|z_angle_|
|000058e0| 69 6e 63 20 3d 20 28 66 | 75 6c 6c 5f 63 69 72 63 |inc = (f|ull_circ|
|000058f0| 6c 65 2f 69 74 6f 6e 28 | 68 6f 72 69 7a 5f 72 65 |le/iton(|horiz_re|
|00005900| 70 73 29 29 3b 20 0a 64 | 61 74 61 20 6e 75 6d 20 |ps)); .d|ata num |
|00005910| 70 72 69 6d 5f 73 69 7a | 65 3b 20 0a 73 70 68 65 |prim_siz|e; .sphe|
|00005920| 72 65 6e 65 73 73 5f 75 | 70 20 3d 20 28 5b 31 5d |reness_u|p = ([1]|
|00005930| 2d 74 75 62 65 6e 65 73 | 73 5f 75 70 29 3b 0a 73 |-tubenes|s_up);.s|
|00005940| 70 68 65 72 65 6e 65 73 | 73 5f 64 6f 77 6e 20 3d |pherenes|s_down =|
|00005950| 20 28 5b 31 5d 2d 74 75 | 62 65 6e 65 73 73 5f 64 | ([1]-tu|beness_d|
|00005960| 6f 77 6e 29 3b 0a 62 75 | 69 6c 64 43 53 70 61 63 |own);.bu|ildCSpac|
|00005970| 65 41 28 5b 30 5d 29 3b | 0a 73 65 74 5f 73 68 69 |eA([0]);|.set_shi|
|00005980| 6e 65 28 5b 33 5d 29 3b | 0a 73 65 74 5f 73 68 61 |ne([3]);|.set_sha|
|00005990| 72 70 28 5b 31 30 30 5d | 29 3b 0a 73 65 74 5f 70 |rp([100]|);.set_p|
|000059a0| 72 69 6d 28 5b 34 5d 29 | 3b 0a 73 65 74 5f 74 65 |rim([4])|;.set_te|
|000059b0| 78 74 75 72 65 28 5b 32 | 5d 29 3b 0a 66 6f 72 28 |xture([2|]);.for(|
|000059c0| 20 6e 75 6d 20 68 6f 72 | 69 7a 5f 61 6e 67 6c 65 | num hor|iz_angle|
|000059d0| 20 3d 20 5b 30 5d 3b 20 | 6c 65 73 73 28 68 6f 72 | = [0]; |less(hor|
|000059e0| 69 7a 5f 61 6e 67 6c 65 | 2c 66 75 6c 6c 5f 63 69 |iz_angle|,full_ci|
|000059f0| 72 63 6c 65 29 3b 20 28 | 68 6f 72 69 7a 5f 61 6e |rcle); (|horiz_an|
|00005a00| 67 6c 65 2b 68 6f 72 69 | 7a 5f 61 6e 67 6c 65 5f |gle+hori|z_angle_|
|00005a10| 69 6e 63 29 20 29 20 7b | 0a 70 75 73 68 28 29 3b |inc) ) {|.push();|
|00005a20| 0a 79 61 77 28 68 6f 72 | 69 7a 5f 61 6e 67 6c 65 |.yaw(hor|iz_angle|
|00005a30| 29 3b 0a 70 72 69 6d 5f | 73 69 7a 65 20 3d 20 28 |);.prim_|size = (|
|00005a40| 28 5b 32 5d 2a 72 61 64 | 69 75 73 29 2a 73 69 6e |([2]*rad|ius)*sin|
|00005a50| 28 28 68 6f 72 69 7a 5f | 61 6e 67 6c 65 5f 69 6e |((horiz_|angle_in|
|00005a60| 63 2f 5b 32 5d 29 29 29 | 3b 0a 73 65 67 6d 65 6e |c/[2])))|;.segmen|
|00005a70| 74 28 5b 31 5d 2c 5b 30 | 5d 2c 5b 30 5d 2c 5b 30 |t([1],[0|],[0],[0|
|00005a80| 5d 2c 72 61 64 69 75 73 | 2c 5b 30 5d 2c 70 72 69 |],radius|,[0],pri|
|00005a90| 6d 5f 73 69 7a 65 29 3b | 0a 68 61 6c 66 28 5b 31 |m_size);|.half([1|
|00005aa0| 5d 2c 74 75 62 65 6e 65 | 73 73 5f 75 70 2c 73 70 |],tubene|ss_up,sp|
|00005ab0| 68 65 72 65 6e 65 73 73 | 5f 75 70 2c 72 61 64 69 |hereness|_up,radi|
|00005ac0| 75 73 2c 68 6f 72 69 7a | 5f 61 6e 67 6c 65 5f 69 |us,horiz|_angle_i|
|00005ad0| 6e 63 2c 70 72 69 6d 5f | 73 69 7a 65 29 3b 0a 68 |nc,prim_|size);.h|
|00005ae0| 61 6c 66 28 2d 5b 31 5d | 2c 74 75 62 65 6e 65 73 |alf(-[1]|,tubenes|
|00005af0| 73 5f 64 6f 77 6e 2c 73 | 70 68 65 72 65 6e 65 73 |s_down,s|pherenes|
|00005b00| 73 5f 64 6f 77 6e 2c 72 | 61 64 69 75 73 2c 68 6f |s_down,r|adius,ho|
|00005b10| 72 69 7a 5f 61 6e 67 6c | 65 5f 69 6e 63 2c 70 72 |riz_angl|e_inc,pr|
|00005b20| 69 6d 5f 73 69 7a 65 29 | 3b 0a 70 6f 70 28 29 3b |im_size)|;.pop();|
|00005b30| 0a 7d 20 0a 70 6f 70 28 | 29 3b 0a 7d 0a 66 75 6e |.} .pop(|);.}.fun|
|00005b40| 63 20 76 6f 69 64 20 68 | 61 6c 66 28 20 6e 75 6d |c void h|alf( num|
|00005b50| 20 64 69 72 65 63 74 69 | 6f 6e 2c 20 6e 75 6d 20 | directi|on, num |
|00005b60| 74 75 62 65 6e 65 73 73 | 2c 20 6e 75 6d 20 73 70 |tubeness|, num sp|
|00005b70| 68 65 72 65 6e 65 73 73 | 2c 20 6e 75 6d 20 72 61 |hereness|, num ra|
|00005b80| 64 69 75 73 2c 20 6e 75 | 6d 20 68 6f 72 69 7a 5f |dius, nu|m horiz_|
|00005b90| 61 6e 67 6c 65 5f 69 6e | 63 2c 20 6e 75 6d 20 70 |angle_in|c, num p|
|00005ba0| 72 69 6d 5f 73 69 7a 65 | 20 29 20 7b 0a 64 61 74 |rim_size| ) {.dat|
|00005bb0| 61 20 6e 75 6d 20 73 70 | 69 72 61 6c 20 3d 20 5b |a num sp|iral = [|
|00005bc0| 30 5d 3b 20 0a 64 61 74 | 61 20 6e 75 6d 20 6c 6f |0]; .dat|a num lo|
|00005bd0| 63 75 73 3b 20 0a 64 61 | 74 61 20 6e 75 6d 20 64 |cus; .da|ta num d|
|00005be0| 69 73 70 6c 61 63 65 6d | 65 6e 74 20 3d 20 5b 30 |isplacem|ent = [0|
|00005bf0| 5d 3b 20 0a 64 61 74 61 | 20 6e 75 6d 20 64 69 73 |]; .data| num dis|
|00005c00| 70 6c 61 63 65 6d 65 6e | 74 5f 69 6e 63 3b 20 0a |placemen|t_inc; .|
|00005c10| 64 61 74 61 20 6e 75 6d | 20 66 77 64 20 3d 20 72 |data num| fwd = r|
|00005c20| 61 64 69 75 73 3b 20 0a | 64 61 74 61 20 6e 75 6d |adius; .|data num|
|00005c30| 20 76 65 72 74 5f 61 6e | 67 6c 65 3b 20 0a 64 61 | vert_an|gle; .da|
|00005c40| 74 61 20 69 6e 74 20 73 | 65 67 73 20 3d 20 5b 37 |ta int s|egs = [7|
|00005c50| 5d 3b 20 0a 66 6f 72 28 | 20 69 6e 74 20 69 20 3d |]; .for(| int i =|
|00005c60| 20 5b 30 5d 3b 20 69 6c | 65 73 73 28 69 2c 73 65 | [0]; il|ess(i,se|
|00005c70| 67 73 29 3b 20 28 69 2b | 5b 31 5d 29 20 29 20 7b |gs); (i+|[1]) ) {|
|00005c80| 0a 73 70 69 72 61 6c 20 | 3d 20 28 73 70 69 72 61 |.spiral |= (spira|
|00005c90| 6c 2b 28 73 70 69 72 61 | 6c 5f 66 61 63 74 6f 72 |l+(spira|l_factor|
|00005ca0| 2a 68 6f 72 69 7a 5f 61 | 6e 67 6c 65 5f 69 6e 63 |*horiz_a|ngle_inc|
|00005cb0| 29 29 3b 0a 64 69 73 70 | 6c 61 63 65 6d 65 6e 74 |));.disp|lacement|
|00005cc0| 5f 69 6e 63 20 3d 20 28 | 28 70 72 69 6d 5f 73 69 |_inc = (|(prim_si|
|00005cd0| 7a 65 2f 5b 32 5d 29 2a | 74 75 62 65 6e 65 73 73 |ze/[2])*|tubeness|
|00005ce0| 29 3b 0a 64 69 73 70 6c | 61 63 65 6d 65 6e 74 20 |);.displ|acement |
|00005cf0| 3d 20 28 64 69 73 70 6c | 61 63 65 6d 65 6e 74 2b |= (displ|acement+|
|00005d00| 64 69 73 70 6c 61 63 65 | 6d 65 6e 74 5f 69 6e 63 |displace|ment_inc|
|00005d10| 29 3b 0a 66 77 64 20 3d | 20 28 66 77 64 2d 28 64 |);.fwd =| (fwd-(d|
|00005d20| 69 73 70 6c 61 63 65 6d | 65 6e 74 5f 69 6e 63 2a |isplacem|ent_inc*|
|00005d30| 73 69 6e 28 76 65 72 74 | 5f 61 6e 67 6c 65 29 29 |sin(vert|_angle))|
|00005d40| 29 3b 0a 76 65 72 74 5f | 61 6e 67 6c 65 20 3d 20 |);.vert_|angle = |
|00005d50| 28 76 65 72 74 5f 61 6e | 67 6c 65 2b 28 28 5b 32 |(vert_an|gle+(([2|
|00005d60| 5d 2a 61 73 69 6e 28 28 | 70 72 69 6d 5f 73 69 7a |]*asin((|prim_siz|
|00005d70| 65 2f 28 5b 34 5d 2a 66 | 77 64 29 29 29 29 2a 73 |e/([4]*f|wd))))*s|
|00005d80| 70 68 65 72 65 6e 65 73 | 73 29 29 3b 0a 70 72 69 |pherenes|s));.pri|
|00005d90| 6d 5f 73 69 7a 65 20 3d | 20 28 28 28 63 6f 73 28 |m_size =| (((cos(|
|00005da0| 76 65 72 74 5f 61 6e 67 | 6c 65 29 2a 5b 32 5d 29 |vert_ang|le)*[2])|
|00005db0| 2a 66 77 64 29 2a 73 69 | 6e 28 28 68 6f 72 69 7a |*fwd)*si|n((horiz|
|00005dc0| 5f 61 6e 67 6c 65 5f 69 | 6e 63 2f 5b 32 5d 29 29 |_angle_i|nc/[2]))|
|00005dd0| 29 3b 0a 6c 6f 63 75 73 | 20 3d 20 28 5b 30 2e 35 |);.locus| = ([0.5|
|00005de0| 5d 2a 28 69 74 6f 6e 28 | 69 29 2f 69 74 6f 6e 28 |]*(iton(|i)/iton(|
|00005df0| 73 65 67 73 29 29 29 3b | 0a 73 65 67 6d 65 6e 74 |segs)));|.segment|
|00005e00| 28 64 69 72 65 63 74 69 | 6f 6e 2c 64 69 73 70 6c |(directi|on,displ|
|00005e10| 61 63 65 6d 65 6e 74 2c | 73 70 69 72 61 6c 2c 76 |acement,|spiral,v|
|00005e20| 65 72 74 5f 61 6e 67 6c | 65 2c 66 77 64 2c 6c 6f |ert_angl|e,fwd,lo|
|00005e30| 63 75 73 2c 70 72 69 6d | 5f 73 69 7a 65 29 3b 0a |cus,prim|_size);.|
|00005e40| 7d 20 0a 7d 0a 66 75 6e | 63 20 76 6f 69 64 20 73 |} .}.fun|c void s|
|00005e50| 65 67 6d 65 6e 74 28 20 | 6e 75 6d 20 64 69 72 65 |egment( |num dire|
|00005e60| 63 74 69 6f 6e 2c 20 6e | 75 6d 20 64 69 73 70 6c |ction, n|um displ|
|00005e70| 61 63 65 6d 65 6e 74 2c | 20 6e 75 6d 20 73 70 69 |acement,| num spi|
|00005e80| 72 61 6c 2c 20 6e 75 6d | 20 76 65 72 74 5f 61 6e |ral, num| vert_an|
|00005e90| 67 6c 65 2c 20 6e 75 6d | 20 66 77 64 2c 20 6e 75 |gle, num| fwd, nu|
|00005ea0| 6d 20 6c 6f 63 75 73 2c | 20 6e 75 6d 20 70 72 69 |m locus,| num pri|
|00005eb0| 6d 5f 73 69 7a 65 20 29 | 20 7b 0a 70 75 73 68 28 |m_size )| {.push(|
|00005ec0| 29 3b 0a 6d 6f 76 65 28 | 76 33 6d 61 6b 65 28 5b |);.move(|v3make([|
|00005ed0| 30 5d 2c 28 2d 64 69 72 | 65 63 74 69 6f 6e 2a 64 |0],(-dir|ection*d|
|00005ee0| 69 73 70 6c 61 63 65 6d | 65 6e 74 29 2c 5b 30 5d |isplacem|ent),[0]|
|00005ef0| 29 29 3b 0a 79 61 77 28 | 28 64 69 72 65 63 74 69 |));.yaw(|(directi|
|00005f00| 6f 6e 2a 73 70 69 72 61 | 6c 29 29 3b 0a 70 69 74 |on*spira|l));.pit|
|00005f10| 63 68 28 28 64 69 72 65 | 63 74 69 6f 6e 2a 76 65 |ch((dire|ction*ve|
|00005f20| 72 74 5f 61 6e 67 6c 65 | 29 29 3b 0a 66 6f 72 77 |rt_angle|));.forw|
|00005f30| 61 72 64 28 28 66 77 64 | 2a 65 78 70 61 6e 64 65 |ard((fwd|*expande|
|00005f40| 64 29 29 3b 0a 72 6f 6c | 6c 28 2d 72 69 67 68 74 |d));.rol|l(-right|
|00005f50| 5f 61 6e 67 6c 65 29 3b | 0a 73 65 74 5f 63 6f 6c |_angle);|.set_col|
|00005f60| 6f 75 72 28 63 73 70 61 | 63 65 28 5b 30 5d 2c 28 |our(cspa|ce([0],(|
|00005f70| 5b 30 2e 35 5d 2b 28 6c | 6f 63 75 73 2a 64 69 72 |[0.5]+(l|ocus*dir|
|00005f80| 65 63 74 69 6f 6e 29 29 | 29 29 3b 0a 73 63 61 6c |ection))|));.scal|
|00005f90| 65 28 76 33 6d 61 6b 65 | 28 70 72 69 6d 5f 73 69 |e(v3make|(prim_si|
|00005fa0| 7a 65 2c 70 72 69 6d 5f | 73 69 7a 65 2c 5b 35 5d |ze,prim_|size,[5]|
|00005fb0| 29 29 3b 0a 6c 61 79 28 | 29 3b 0a 70 6f 70 28 29 |));.lay(|);.pop()|
|00005fc0| 3b 0a 7d 0a 66 75 6e 63 | 20 76 6f 69 64 20 62 75 |;.}.func| void bu|
|00005fd0| 69 6c 64 43 53 70 61 63 | 65 41 28 20 69 6e 74 20 |ildCSpac|eA( int |
|00005fe0| 69 6e 64 65 78 20 29 20 | 7b 0a 64 61 74 61 20 63 |index ) |{.data c|
|00005ff0| 6f 6c 6f 75 72 20 63 30 | 20 3d 20 5b 3c 30 2e 35 |olour c0| = [<0.5|
|00006000| 37 32 30 34 34 2c 30 2e | 36 38 39 35 30 38 2c 30 |72044,0.|689508,0|
|00006010| 2e 39 39 39 39 39 2c 30 | 2e 39 39 39 39 39 3e 5d |.99999,0|.99999>]|
|00006020| 3a 5b 3c 30 2c 30 2e 34 | 2c 30 2e 39 39 39 39 39 |:[<0,0.4|,0.99999|
|00006030| 2c 30 2e 39 39 39 39 39 | 3e 5d 3a 5b 3c 30 2e 39 |,0.99999|>]:[<0.9|
|00006040| 39 39 39 39 2c 30 2e 39 | 39 39 39 39 2c 30 2e 39 |9999,0.9|9999,0.9|
|00006050| 39 39 39 39 2c 30 2e 39 | 39 39 39 39 3e 5d 3b 20 |9999,0.9|9999>]; |
|00006060| 0a 64 61 74 61 20 63 6f | 6c 6f 75 72 20 63 31 20 |.data co|lour c1 |
|00006070| 3d 20 5b 3c 30 2e 31 31 | 37 36 33 32 2c 30 2e 39 |= [<0.11|7632,0.9|
|00006080| 31 38 31 37 33 2c 30 2e | 39 39 39 39 39 2c 30 2e |18173,0.|99999,0.|
|00006090| 39 39 39 39 39 3e 5d 3a | 5b 3c 30 2c 30 2e 34 2c |99999>]:|[<0,0.4,|
|000060a0| 30 2e 39 39 39 39 39 2c | 30 2e 39 39 39 39 39 3e |0.99999,|0.99999>|
|000060b0| 5d 3a 5b 3c 30 2e 39 39 | 39 39 39 2c 30 2e 39 39 |]:[<0.99|999,0.99|
|000060c0| 39 39 39 2c 30 2e 39 39 | 39 39 39 2c 30 2e 39 39 |999,0.99|999,0.99|
|000060d0| 39 39 39 3e 5d 3b 20 0a | 64 61 74 61 20 63 6f 6c |999>]; .|data col|
|000060e0| 6f 75 72 20 63 32 20 3d | 20 5b 3c 30 2e 37 34 33 |our c2 =| [<0.743|
|000060f0| 30 36 36 2c 30 2e 37 33 | 36 34 32 2c 30 2e 39 39 |066,0.73|642,0.99|
|00006100| 39 39 39 2c 30 2e 39 39 | 39 39 39 3e 5d 3a 5b 3c |999,0.99|999>]:[<|
|00006110| 30 2c 30 2e 34 2c 30 2e | 39 39 39 39 39 2c 30 2e |0,0.4,0.|99999,0.|
|00006120| 39 39 39 39 39 3e 5d 3a | 5b 3c 30 2e 39 39 39 39 |99999>]:|[<0.9999|
|00006130| 39 2c 30 2e 39 39 39 39 | 39 2c 30 2e 39 39 39 39 |9,0.9999|9,0.9999|
|00006140| 39 2c 30 2e 39 39 39 39 | 39 3e 5d 3b 20 0a 64 61 |9,0.9999|9>]; .da|
|00006150| 74 61 20 63 6f 6c 6f 75 | 72 20 63 33 20 3d 20 5b |ta colou|r c3 = [|
|00006160| 3c 30 2e 35 38 39 37 39 | 33 2c 30 2e 38 35 35 33 |<0.58979|3,0.8553|
|00006170| 30 32 2c 30 2e 39 39 39 | 39 39 2c 30 2e 39 39 39 |02,0.999|99,0.999|
|00006180| 39 39 3e 5d 3a 5b 3c 30 | 2c 30 2e 34 2c 30 2e 39 |99>]:[<0|,0.4,0.9|
|00006190| 39 39 39 39 2c 30 2e 39 | 39 39 39 39 3e 5d 3a 5b |9999,0.9|9999>]:[|
|000061a0| 3c 30 2e 39 39 39 39 39 | 2c 30 2e 39 39 39 39 39 |<0.99999|,0.99999|
|000061b0| 2c 30 2e 39 39 39 39 39 | 2c 30 2e 39 39 39 39 39 |,0.99999|,0.99999|
|000061c0| 3e 5d 3b 20 0a 64 61 74 | 61 20 6e 75 6d 20 64 65 |>]; .dat|a num de|
|000061d0| 6c 74 61 31 20 3d 20 5b | 30 2e 35 30 37 39 30 31 |lta1 = [|0.507901|
|000061e0| 5d 3a 5b 30 2e 32 35 5d | 3a 5b 31 5d 3b 20 0a 64 |]:[0.25]|:[1]; .d|
|000061f0| 61 74 61 20 6e 75 6d 20 | 64 65 6c 74 61 32 20 3d |ata num |delta2 =|
|00006200| 20 5b 30 2e 33 36 38 38 | 32 37 5d 3a 5b 30 2e 32 | [0.3688|27]:[0.2|
|00006210| 35 5d 3a 5b 31 5d 3b 20 | 0a 64 61 74 61 20 6e 75 |5]:[1]; |.data nu|
|00006220| 6d 20 64 65 6c 74 61 33 | 20 3d 20 5b 30 2e 36 37 |m delta3| = [0.67|
|00006230| 35 34 30 35 5d 3a 5b 30 | 2e 32 35 5d 3a 5b 31 5d |5405]:[0|.25]:[1]|
|00006240| 3b 20 0a 69 6e 69 74 5f | 63 73 70 61 63 65 28 69 |; .init_|cspace(i|
|00006250| 6e 64 65 78 2c 63 30 29 | 3b 0a 65 78 74 65 6e 64 |ndex,c0)|;.extend|
|00006260| 5f 63 73 70 61 63 65 28 | 69 6e 64 65 78 2c 64 65 |_cspace(|index,de|
|00006270| 6c 74 61 31 2c 63 31 29 | 3b 0a 65 78 74 65 6e 64 |lta1,c1)|;.extend|
|00006280| 5f 63 73 70 61 63 65 28 | 69 6e 64 65 78 2c 64 65 |_cspace(|index,de|
|00006290| 6c 74 61 32 2c 63 32 29 | 3b 0a 65 78 74 65 6e 64 |lta2,c2)|;.extend|
|000062a0| 5f 63 73 70 61 63 65 28 | 69 6e 64 65 78 2c 64 65 |_cspace(|index,de|
|000062b0| 6c 74 61 33 2c 63 33 29 | 3b 0a 7d 0a 66 75 6e 63 |lta3,c3)|;.}.func|
|000062c0| 20 76 6f 69 64 20 6d 6f | 6e 73 74 65 72 28 29 20 | void mo|nster() |
|000062d0| 7b 0a 70 75 73 68 28 29 | 3b 0a 64 61 74 61 20 6e |{.push()|;.data n|
|000062e0| 75 6d 20 6d 6f 6e 73 74 | 65 72 5f 73 63 6c 20 3d |um monst|er_scl =|
|000062f0| 20 5b 30 2e 39 39 35 39 | 36 35 5d 3a 5b 30 2e 31 | [0.9959|65]:[0.1|
|00006300| 5d 3a 5b 32 5d 3b 20 0a | 64 61 74 61 20 76 65 63 |]:[2]; .|data vec|
|00006310| 33 20 6f 66 66 5f 63 65 | 6e 74 65 72 20 3d 20 5b |3 off_ce|nter = [|
|00006320| 3c 30 2c 34 2e 34 32 33 | 39 2c 30 3e 5d 3a 5b 3c |<0,4.423|9,0>]:[<|
|00006330| 30 2c 2d 35 2c 30 3e 5d | 3a 5b 3c 30 2c 35 2c 30 |0,-5,0>]|:[<0,5,0|
|00006340| 3e 5d 3b 20 0a 64 61 74 | 61 20 6e 75 6d 20 6d 6f |>]; .dat|a num mo|
|00006350| 6e 73 74 65 72 5f 72 6f | 6c 6c 20 3d 20 5b 31 2e |nster_ro|ll = [1.|
|00006360| 36 30 32 31 32 5d 3a 5b | 2d 33 5d 3a 5b 33 5d 3b |60212]:[|-3]:[3];|
|00006370| 20 0a 64 61 74 61 20 6e | 75 6d 20 6d 6f 6e 73 74 | .data n|um monst|
|00006380| 65 72 5f 79 61 77 20 3d | 20 5b 30 2e 32 31 38 34 |er_yaw =| [0.2184|
|00006390| 31 37 5d 3a 5b 2d 33 5d | 3a 5b 33 5d 3b 20 0a 64 |17]:[-3]|:[3]; .d|
|000063a0| 61 74 61 20 6e 75 6d 20 | 6d 6f 6e 73 74 65 72 5f |ata num |monster_|
|000063b0| 70 69 74 63 68 20 3d 20 | 5b 32 2e 32 34 32 35 5d |pitch = |[2.2425]|
|000063c0| 3a 5b 2d 33 5d 3a 5b 33 | 5d 3b 20 0a 75 73 63 61 |:[-3]:[3|]; .usca|
|000063d0| 6c 65 28 6d 6f 6e 73 74 | 65 72 5f 73 63 6c 29 3b |le(monst|er_scl);|
|000063e0| 0a 6d 6f 76 65 28 6f 66 | 66 5f 63 65 6e 74 65 72 |.move(of|f_center|
|000063f0| 29 3b 0a 72 6f 6c 6c 28 | 6d 6f 6e 73 74 65 72 5f |);.roll(|monster_|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.